Anti-Aliasing

As a hybrid engine, HOOPS Luminate offers several anti-aliasing methods. This page reviews all the possible controls an application may have over using anti-aliasing in a HOOPS Luminate application.

Anti-Aliasing on the GPU

HOOPS Luminate has three main anti-aliasing techniques that can be used on the GPU:

Method Activation Quality Performance Comments
Hardware AA RED::WindowRenderInfo::SetHardwareAntiAlias Average Good May consume a lot of memory. Not available on offscreen VRLs. Quality may vary with hardware generation.
Engine AA No Superscale RED::IViewpointRenderList::SetEngineAntiAlias Good Average Do not consume any memory.
Engine AA with Superscale RED::IViewpointRenderList::SetEngineAntiAlias Good Good Consumes memory in relation with the AA value.
FXAA RED::RenderShaderAAFilter Low Very good Is a post-processing effect, not a true anti-aliasing, so it will never capture originally missed details.

Anti-Aliasing on the CPU

Method Activation Quality Performance Comments
Software AA RED::IViewpointRenderList::SetSoftAntiAlias Good Good Has a significant effect on render time

On the example scene below:

../../../_images/aa_scene.png

The example scene used to measure software AA performances

We get the following numbers, on a standard Core i7 computer, rendering a 1000 x 600 pixels image with average quality settings:

AA Value Render Time
x 1 1 mn 15 sec.
x 4 (= 16 AA samples per pixel) 2 mn 24 sec.
x 8 (= 64 AA samples per pixel) 6 mn 20 sec.
x 16 (= 256 AA samples per pixel) 19 mn 10 sec.

We can see that increasing the AA value does not increase the render time linearly: on multiplying the AA value by x4, we get roughly two to three times the render time. This is important to be aware of, as using a high AA value is often a must have for high quality images.

Note

Increasing the image quality accordingly will reduce the AA overhead ratio, as primary rays will account for less in the rays being propagated to compute the image.