#include <RRSolver.h>
Optional parameters of calculate().
◆ CalculateParameters()
rr::RRSolver::CalculateParameters::CalculateParameters |
( |
| ) |
|
|
inline |
Sets default parameters. This is used if you send nullptr instead of parameters.
◆ operator==()
◆ materialEmittanceStaticQuality
unsigned rr::RRSolver::CalculateParameters::materialEmittanceStaticQuality |
Only for Fireball solver: Specifies what to do when emissive texture changes.
- 0 disables updates, existing lighting stays unchanged.
- 1 = max speed, flat emittance colors stored in materials are used. All triangles that share the same material emit the same average color. Eventual changes in textures and non-uniform distribution of colors in texture are ignored.
- 2 or more = higher precision, emissive textures are sampled, quality specifies number of samples per triangle. Triangles emit their average emissive colors and changes in textures are detected.
◆ materialEmittanceVideoQuality
unsigned rr::RRSolver::CalculateParameters::materialEmittanceVideoQuality |
Only for Fireball solver: Like materialEmittanceStaticQuality, applied when there is video in emissive texture.
◆ materialEmittanceUsePointMaterials
bool rr::RRSolver::CalculateParameters::materialEmittanceUsePointMaterials |
Only for Fireball solver: For materialEmittanceQuality=0, this parameter is ignored. For materialEmittanceQuality>0, two paths exist
- false = Fast direct access to material's emissive texture. Recommended. At quality 16, it is roughly 5x slower than quality 0. If you haven't overloaded getPointMaterial(), both paths produce identical results, but this one is faster.
- true = Slow access via customizable virtual function getPointMaterial(). At quality 16, it is roughly 100x slower than quality 0. Use it only if you need your overloaded getPointMaterial() to be used.
◆ materialTransmittanceStaticQuality
unsigned rr::RRSolver::CalculateParameters::materialTransmittanceStaticQuality |
Only for Fireball and Architect solvers: Specifies what to do when transmittance texture changes.
- 0 = no updates, existing lighting stays unchanged.
- 1 = update only shadows.
- 2 = update full GI.
◆ materialTransmittanceVideoQuality
unsigned rr::RRSolver::CalculateParameters::materialTransmittanceVideoQuality |
Only for Fireball and Architect solvers: Like materialTransmittanceStaticQuality, applied when there is video in transmittance texture.
◆ environmentStaticQuality
unsigned rr::RRSolver::CalculateParameters::environmentStaticQuality |
Only for Fireball solver: Specifies what to do when environment changes. Quality of lighting from environment, number of samples. 0 disables updates, existing lighting stays unchanged; so if you always pass 0, environment will not illuminate scene.
◆ environmentVideoQuality
unsigned rr::RRSolver::CalculateParameters::environmentVideoQuality |
Only for Fireball solver: Like environmentStaticQuality, applied when there is video in environment texture.
◆ qualityIndirectDynamic
unsigned rr::RRSolver::CalculateParameters::qualityIndirectDynamic |
Only for Fireball solver: Quality of indirect lighting when direct lighting changes. 1..20, default is 3. Higher quality makes calculate() take longer.
◆ qualityIndirectStatic
unsigned rr::RRSolver::CalculateParameters::qualityIndirectStatic |
Only for Fireball solver: Target quality of indirect lighting when direct lighting doesn't change. 1..1000, default is 3. Higher quality doesn't make calculate() take longer, but indirect lighting improves in several consecutive calculate()s when direct lighting doesn't change.
◆ delayDDI
unsigned rr::RRSolver::CalculateParameters::delayDDI |
Only for RRSolverGL: For how many frames indirect illumination can trail behind direct illumination. 0 = indirect synchronized with direct, highest quality. 3 = indirect slightly delayed behind direct, faster.
◆ secondsBetweenDDI
float rr::RRSolver::CalculateParameters::secondsBetweenDDI |
Only for RRSolverGL: For how many seconds indirect illumination can stay unchanged. 0 = update in each frame, highest quality. 0.05 = update less frequently, faster.
◆ skipRRSolver
bool rr::RRSolver::CalculateParameters::skipRRSolver |