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 |
|
Maximum depth of rays to be traced. |
min_depth |
integer |
|
Minimum depth of rays after which russian roulette applies. |
clamp |
number |
|
Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping. |
light_selector |
string |
|
Light selection technique. Available are |
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.
![../../_images/technique_path.jpg](../../_images/technique_path.jpg)
A low-sample render using the path technique#
Volume Path Tracer (volpath)#
Parameter |
Type |
Default |
Description |
---|---|---|---|
max_depth |
integer |
|
Maximum depth of rays to be traced. |
min_depth |
integer |
|
Minimum depth of rays after which russian roulette applies. |
clamp |
number |
|
Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping. |
light_selector |
string |
|
Light selection technique. Available are |
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.
![../../_images/technique_volpath.jpg](../../_images/technique_volpath.jpg)
A low-sample render using the volumetric path technique. In this picture no volumes were used, converging to the same result as the standard path tracer.#
Light Tracer (lighttracer)#
Parameter |
Type |
Default |
Description |
---|---|---|---|
max_depth |
integer |
|
Maximum depth of rays to be traced. |
min_depth |
integer |
|
Minimum depth of rays after which russian roulette applies. |
clamp |
number |
|
Value to clamp contributions to. This introduces bias in favour of omitting outlier. 0 disables clamping. |
light_selector |
string |
|
Light selection technique. Available are |
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.
![../../_images/technique_lt.jpg](../../_images/technique_lt.jpg)
A low-sample render using light tracing. It fails to display fully specular paths, as a path starting from a light source through a perfect specular path can not hit a virtual camera randomly.#
Photonmapper (photonmapper)#
Parameter |
Type |
Default |
Description |
---|---|---|---|
max_camera_depth |
integer |
|
Maximum depth of rays starting from the camera. Can also be defined as max_depth. |
min_camera_depth |
integer |
|
Minimum depth of rays starting from the camera after which russian roulette applies. Can also be defined as min_depth. |
max_light_depth |
integer |
|
Maximum depth of rays starting from a light source. |
photons |
integer |
|
Number of photons emitted into the scene. |
radius |
number |
|
Initial merging radius. |
clamp |
number |
|
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.
![../../_images/technique_ppm.jpg](../../_images/technique_ppm.jpg)
A low-sample render using photon mapping. The footprint of each photon is clearly visible. However, the technique exceeds in displaying the caustics, whom are missing in the standard path tracing technique.#
Ambient Occlusion (ao)#
This technique calculates the ambient occlusion in the scene. Currently no parameters are available to tinkle around.
![../../_images/technique_ao.jpg](../../_images/technique_ao.jpg)
A low-sample ambient occlusion rendering. The images looks almost converged, which is due to the grayscale appearance and large number of samples within each bounce.#
Wireframe (wireframe)#
This technique renders the scene in wireframe. Currently no parameters are available to tinkle around.
![../../_images/technique_wireframe.jpg](../../_images/technique_wireframe.jpg)
A basic visualization of the scene using wireframes.#
Debug (debug)#
Parameter |
Type |
Default |
Description |
---|---|---|---|
mode |
string |
|
Property to display or check. One of the options displayed in |
This is a special technique only usable with the igview frontend. It displays scene specific information on the screen.
![../../_images/technique_debug.jpg](../../_images/technique_debug.jpg)
Debug visualization of the scene displaying the shading normals.#
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.