RenderMan API  23.0
RixIntegratorEnvironment Class Reference

#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
 

Public Attributes

int m_version
 Interface version. More...
 
int maxIntegrateSize
 
int maxShadingCtxSize
 
SamplingModes supportedSamplingModes
 Deprecated. More...
 
LightingModes lightingRequirements
 Deprecated. More...
 
int const numDisplays
 Display state (unmutable). More...
 
RixDisplayChannel const *const displays
 
bool wantsEmptyIntegrate
 
bool wantsIncrementBarrier
 
int const numRaysPerIncrement
 
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
 
float cameraMediumIOR
 
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
 
char _reserved [30]
 

Detailed Description

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.

Definition at line 468 of file RixIntegrator.h.

Member Enumeration Documentation

◆ LightingModes

Indicates the lighting modes supported by the integrator.

Enumerator
k_UnidirectionalLighting 
k_BidirectionalLighting 

Definition at line 483 of file RixIntegrator.h.

◆ SamplingModes

Indicates the sampling modes supported by the integrator.

Enumerator
k_Invalid 
k_Fixed 
k_Adaptive 
k_Incremental 
k_AllModes 

Definition at line 472 of file RixIntegrator.h.

Constructor & Destructor Documentation

◆ RixIntegratorEnvironment()

RixIntegratorEnvironment::RixIntegratorEnvironment ( )
inline

Definition at line 489 of file RixIntegrator.h.

Member Function Documentation

◆ GetDisplayChannel()

PRMAN_INLINE RixDisplayChannel const* RixIntegratorEnvironment::GetDisplayChannel ( RtUString  name) const
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.

Parameters
[in]nameChannel name.
Returns
the first display channel with the provided name. Note: there could be other display channels using the same name.

Definition at line 518 of file RixIntegrator.h.

Member Data Documentation

◆ _reserved

char RixIntegratorEnvironment::_reserved[30]

Definition at line 584 of file RixIntegrator.h.

◆ cameraMediumIOR

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).

Definition at line 575 of file RixIntegrator.h.

◆ cameraMediumPriority

int RixIntegratorEnvironment::cameraMediumPriority

Priority of the medium surrounding the camera. Defaults to 0.

Definition at line 577 of file RixIntegrator.h.

◆ displays

RixDisplayChannel const* const RixIntegratorEnvironment::displays

Definition at line 548 of file RixIntegrator.h.

◆ lightingRequirements

LightingModes RixIntegratorEnvironment::lightingRequirements

Deprecated.

Definition at line 544 of file RixIntegrator.h.

◆ lobesWanted

RixBXLobeTraits RixIntegratorEnvironment::lobesWanted

Camera state.

Used to establish state for the first "wavefront". Other calls to GetNearestHit() are parameterized as integrator chooses.

Definition at line 572 of file RixIntegrator.h.

◆ m_version

int RixIntegratorEnvironment::m_version

Interface version.

Definition at line 526 of file RixIntegrator.h.

◆ maxIntegrateSize

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().

Definition at line 536 of file RixIntegrator.h.

◆ maxShadingCtxSize

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.

Definition at line 540 of file RixIntegrator.h.

◆ numBootstrapIncrements

int RixIntegratorEnvironment::numBootstrapIncrements

Used to request iterations which do not contribute to the final result.

Definition at line 566 of file RixIntegrator.h.

◆ numDisplays

int const RixIntegratorEnvironment::numDisplays

Display state (unmutable).

Definition at line 547 of file RixIntegrator.h.

◆ numIncrements

int const RixIntegratorEnvironment::numIncrements

Total number of increments. This is usually maxsamples.

Definition at line 563 of file RixIntegrator.h.

◆ numRaysPerIncrement

int const RixIntegratorEnvironment::numRaysPerIncrement

(unmutable). Total number of rays used per increment. This depends on the render resolution.

Definition at line 561 of file RixIntegrator.h.

◆ supportedSamplingModes

SamplingModes RixIntegratorEnvironment::supportedSamplingModes

Deprecated.

Definition at line 542 of file RixIntegrator.h.

◆ usesLightingServices

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.

Definition at line 583 of file RixIntegrator.h.

◆ wantsEmptyIntegrate

bool RixIntegratorEnvironment::wantsEmptyIntegrate

Increment state.

Expresses whether integrator requires empty integrate request in adaptive rendering modes.

Definition at line 553 of file RixIntegrator.h.

◆ wantsIncrementBarrier

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.

Definition at line 557 of file RixIntegrator.h.

◆ wantsTransmission

bool RixIntegratorEnvironment::wantsTransmission

Expresses whether integrator has a non trivial GetTransmission() method.

Definition at line 579 of file RixIntegrator.h.


The documentation for this class was generated from the following file: