Techniques#

Techniques, also called integrators, are the heart of the rendering framework. They allow the calculation of global illumination based on different methods or the acquisition of information about the underlying scene.

A technique is specified in the technique block with a type. The type has to be one of the techniques listed at this section below.

Note

Techniques do not support PExpr expressions.

Path Tracer (path)#

Parameter

Type

Default

Description

max_depth

integer

64

Maximum depth of rays to be traced.

min_depth

integer

2

Minimum depth of rays after which russian roulette applies.

clamp

number

0

Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping.

light_selector

string

"uniform"

Light selection technique. Available are "hierarchy", "simple" and "uniform"

nee

boolean

true

Enable next event estimation to improve convergence rate.

aov_mis

boolean

false

Enable two aovs displaying mis related weights.

This is the default and probably most used type. It calculates the full global illumination in the scene. If participating media is used, it is recommended to use the volumetric path tracer instead.

Volume Path Tracer (volpath)#

Parameter

Type

Default

Description

max_depth

integer

64

Maximum depth of rays to be traced.

min_depth

integer

2

Minimum depth of rays after which russian roulette applies.

clamp

number

0

Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping.

light_selector

string

"uniform"

Light selection technique. Available are "hierarchy", "simple" and "uniform"

nee

boolean

true

Enable next event estimation to improve convergence rate.

A simple volumetric path tracer. It calculates the full global illumination in the scene.

Light Tracer (lighttracer)#

Parameter

Type

Default

Description

max_depth

integer

64

Maximum depth of rays to be traced.

min_depth

integer

2

Minimum depth of rays after which russian roulette applies.

clamp

number

0

Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping.

light_selector

string

"uniform"

Light selection technique. Available are "hierarchy", "simple" and "uniform"

A basic light tracer. Primarily developed as a proof-of-concept for the project framework. It fails to display fully specular paths.

Note

The light tracer is very basic and misses many features. This might change in the future.

Warning

At the time of this writing the light tracer still has some problems and is not recommended to be used.

Photonmapper (photonmapper)#

Parameter

Type

Default

Description

max_camera_depth

integer

64

Maximum depth of rays starting from the camera. Can also be defined as max_depth.

min_camera_depth

integer

2

Minimum depth of rays starting from the camera after which russian roulette applies. Can also be defined as min_depth.

max_light_depth

integer

8

Maximum depth of rays starting from a light source.

photons

integer

1000000

Number of photons emitted into the scene.

radius

number

0.01

Initial merging radius.

clamp

number

0

Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping.

aov

boolean

false

Enable aovs displaying internal weights.

A basic photon mapping technique. Primarily developed as a proof-of-concept for the project framework.

Note

The photon mapper is very basic and more recent advancements are not used. This will change in the future.

Ambient Occlusion (ao)#

This technique calculates the ambient occlusion in the scene. Currently no parameters are available to tinkle around.

Wireframe (wireframe)#

This technique renders the scene in wireframe. Currently no parameters are available to tinkle around.

Debug (debug)#

Parameter

Type

Default

Description

mode

string

"Normal"

Property to display or check. One of the options displayed in igview when using the debug mode --debug.

This is a special technique only usable with the igview frontend. It displays scene specific information on the screen.

Other#

The interested reader might have found that Ignis contains some more techniques. These are primarily intended for development and test purposes and are therefore not further documented at this page.