📄️ Clear Color
The clear color is used as the background of the rendering. Per default, the background is rendered as white, as is common for product renderings. However, you can either disable it or add a custom clear color.
📄️ Denoising
Denoising can be used as a final step to reduce undesired artifacts in the rendering.
📄️ Destruction
strahl sets up all required data structures for you, but by default it won't clean them up. This can lead to a memory leak. Therefore, it should always be destroyed after it has finished processing or the page is becoming idle. Note that this will not destroy the canvas, therefore it is fine to do even if the scene is still rendered.
📄️ Environment Light
Environment light is defined as the contribution of sky and sun. Sky settings are direction independent and are akin to AmbientLight. Sun is direction-dependent.
📄️ Exception Handling
strahl provides parseable exceptions to help debugging failures in the program. For ease-of-use, the name of the exception is written in brackets ([ExceptionName] …).
📄️ Lifecycle Hooks
In order to be notified about the state of the path tracer, lifecycle hooks are available. They are handled as event listeners and will be called with information about the current state.
📄️ Sampling
Sampling determines how many rays are cast per pixel and how deep the rays are sampled.
📄️ Size
Configure the size of the rendering.
📄️ Theory
strahl was written as part of a master thesis. Therefore, a detailed report is available. If you're unsure about whether this is interesting to you, there is a short paper which gives a brief introduction into the topic available on ACM.
📄️ View Projection
View projection is about setting up the virtual camera and getting the right shot. To date, strahl only supports perspective view projection as encountered in real life.