#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 |