RenderManAPI
24.0
|
This class allows integrators to instrospect the rendering environment. More...
#include <RixIntegrator.h>
Public Types | |
enum | SamplingModes { k_Invalid = 0, k_Fixed = 1, k_Adaptive = 2, k_Incremental = 4, k_AllModes = (k_Fixed | k_Adaptive | k_Incremental) } |
Indicates the sampling modes supported by the integrator. More... | |
enum | LightingModes { k_UnidirectionalLighting = 0, k_BidirectionalLighting = 1 } |
Indicates the lighting modes supported by the integrator. More... | |
Public Member Functions | |
RixIntegratorEnvironment () | |
PRMAN_INLINE RixDisplayChannel const * | GetDisplayChannel (RtUString name) const |
Returns the first display channel with the corresponding name. More... | |
Public Attributes | |
int | m_version |
Interface version. More... | |
int | maxIntegrateSize |
Integration state. More... | |
int | maxShadingCtxSize |
The maximum number of points that a shading context will encapsulate. More... | |
SamplingModes | supportedSamplingModes |
Deprecated. More... | |
LightingModes | lightingRequirements |
Deprecated. More... | |
int const | numDisplays |
Display state (unmutable). More... | |
RixDisplayChannel const *const | displays |
bool | wantsEmptyIntegrate |
Increment state. More... | |
bool | wantsIncrementBarrier |
Expresses whether integrator requires all threads to synchronize on each rendering increment. More... | |
int const | numRaysPerIncrement |
(unmutable). More... | |
int const | numIncrements |
Total number of increments. This is usually maxsamples . More... | |
int | numBootstrapIncrements |
Used to request iterations which do not contribute to the final result. More... | |
RixBXLobeTraits | lobesWanted |
Camera state. More... | |
float | cameraMediumIOR |
If the camera is inside a non-trivial participating medium, this is the IOR of the medium. More... | |
int | cameraMediumPriority |
Priority of the medium surrounding the camera. Defaults to 0. More... | |
bool | wantsTransmission |
Expresses whether integrator has a non trivial GetTransmission() method. More... | |
bool | usesLightingServices |
Indicates if the integrator will make use of RixLightingServices . More... | |
bool | unused1 |
Max samples to be handled by manifold walking. Defaults to 0 (no manifold walk). More... | |
bool | unused2 |
int | manifoldWalkMaxSamples |
RtUString | shadowExcludeSubset |
Additional shadow exclusion subset. More... | |
bool | lightingServicesManagesParticipatingMedia |
This requests lighting services to multiply the weighted transmission value on the current shading context into the evaluated material weights to apply participating media attenuation. More... | |
char | _reserved [15] |
This class allows integrators to instrospect the rendering environment.
An object of this type is also provided to RixIntegrator::RenderBegin()
, allowing the integrators to communicate some requirements back to the renderer.
|
inline |
|
inline |
Returns the first display channel with the corresponding name.
NOTE: This is probably not what you want to use for RixDisplayFilter
plugins – see the comment on RixDisplayChannel
above, regarding the multiplicity of some channel ids.
[in] | name | Channel name. |
References displays, and numDisplays.
char RixIntegratorEnvironment::_reserved[15] |
float RixIntegratorEnvironment::cameraMediumIOR |
If the camera is inside a non-trivial participating medium, this is the IOR of the medium.
Defaults to 1.0f (air).
int RixIntegratorEnvironment::cameraMediumPriority |
Priority of the medium surrounding the camera. Defaults to 0.
RixDisplayChannel const* const RixIntegratorEnvironment::displays |
Referenced by GetDisplayChannel().
LightingModes RixIntegratorEnvironment::lightingRequirements |
Deprecated.
bool RixIntegratorEnvironment::lightingServicesManagesParticipatingMedia |
This requests lighting services to multiply the weighted transmission value on the current shading context into the evaluated material weights to apply participating media attenuation.
An integrator that sets this should avoid accumulating the weighted transmission value into the throughput.
RixBXLobeTraits RixIntegratorEnvironment::lobesWanted |
Camera state.
Used to establish state for the first "wavefront". Other calls to GetNearestHit()
are parameterized as integrator chooses.
int RixIntegratorEnvironment::m_version |
Interface version.
int RixIntegratorEnvironment::manifoldWalkMaxSamples |
int RixIntegratorEnvironment::maxIntegrateSize |
Integration state.
The maximum number of rays used for a 'bucket'. This is the maximum number of rays given to RixIntegrator::IntegrateRays()
, or the maximum total number of points encapsulated in the shading contexts given to RixIntegrator::Integrate()
.
int RixIntegratorEnvironment::maxShadingCtxSize |
The maximum number of points that a shading context will encapsulate.
This affect all the shading contexts provided to the integrator by the renderer, including the ones returned by the various GetNearestHits()
and GetTransmission()
methods.
int RixIntegratorEnvironment::numBootstrapIncrements |
Used to request iterations which do not contribute to the final result.
int const RixIntegratorEnvironment::numDisplays |
Display state (unmutable).
Referenced by GetDisplayChannel().
int const RixIntegratorEnvironment::numIncrements |
Total number of increments. This is usually maxsamples
.
int const RixIntegratorEnvironment::numRaysPerIncrement |
(unmutable).
Total number of rays used per increment. This depends on the render resolution.
RtUString RixIntegratorEnvironment::shadowExcludeSubset |
Additional shadow exclusion subset.
SamplingModes RixIntegratorEnvironment::supportedSamplingModes |
Deprecated.
bool RixIntegratorEnvironment::unused1 |
Max samples to be handled by manifold walking. Defaults to 0 (no manifold walk).
bool RixIntegratorEnvironment::unused2 |
bool RixIntegratorEnvironment::usesLightingServices |
Indicates if the integrator will make use of RixLightingServices
.
If they are not used, some initialization in the renderer may be skipped. Defaults to true.
bool RixIntegratorEnvironment::wantsEmptyIntegrate |
Increment state.
Expresses whether integrator requires empty integrate request in adaptive rendering modes.
bool RixIntegratorEnvironment::wantsIncrementBarrier |
Expresses whether integrator requires all threads to synchronize on each rendering increment.
This can impact performance; choose carefully whether this is really needed. See k_RixSCIncrementBarrier
.
bool RixIntegratorEnvironment::wantsTransmission |
Expresses whether integrator has a non trivial GetTransmission()
method.