RixLightingServices Class Reference

RixLightingServices Class Referenceabstract
Inheritance diagram for RixLightingServices:
RixInterface

Classes

class  SampleMode
 

Public Types

enum  IntegratorIntent { k_LightSamples, k_MaterialSamples, k_MaterialAndLightSamples }
 
enum  Mode { k_IgnoreFixedSampleCount = 0, k_RespectFixedSampleCount = 1, k_ReducedFixedSampleCount = 2 }
 

Public Member Functions

virtual void Begin (RixShadingContext const *sCtx, RixRNG *rng, RixBXEvaluateDomain dom, IntegratorIntent f, Mode m, SampleMode sm, RtInt *fixedSampleCount=NULL, int depth=0, int parentIndirectCount=1)=0
 
virtual void GenerateSamples (RtInt numSamples, RixRNG *rng, RtInt *lightGrpIds, RtVector3 *toLight, RtFloat *dist, RixBXLobeWeights *contribution, RtColorRGB *trans, RtFloat *lightPdfIllum, RixBXLobeTraits *lobesWanted, RixBXLobeWeights *evaluatedMaterialWeights, RtFloat *evaluatedMaterialFPdf, RtFloat *evaluatedMaterialRPdf, RixBXLobeTraits *lobesEvaluated, RtColorRGB *throughput=NULL)=0
 
virtual void GenerateSamples (RtInt numSamples, RixRNG *rng, RtInt *lightGrpIds, RtVector3 *toLight, RtFloat *dist, RixBXLobeWeights *contribution, RtColorRGB *trans, RtFloat *lightPdfIllum, RtFloat *lightPdfEmit, RtFloat *dirPdf, RtFloat *solidAngToArea, RixBXLobeTraits *lobesWanted, RixBXLobeWeights *evaluatedMaterialWeights, RtFloat *evaluatedMaterialFPdf, RtFloat *evaluatedMaterialRPdf, RixBXLobeTraits *lobesEvaluated, RtColorRGB *throughput=NULL, RtFloat *volForwardPdf=NULL, RtFloat *volReversePdf=NULL, RtFloat *volCrossPdf=NULL)=0
 
virtual void EvaluateSamples (RtInt numSamples, RixRNG *rng, RtVector3 *toLight, RtFloat *dist, RtFloat *matPdf, RixBXLobeWeights *weights, RixBXLobeSampled *lobeSampled, RtInt *lightGrpIds, RixBXLobeWeights *contribution, RtColorRGB *trans, RtFloat *lightPdfIllum, RtColorRGB *throughput=NULL)=0
 
virtual void EvaluateSamples (RtInt numSamples, RixRNG *rng, RtVector3 *toLight, RtFloat *dist, RtFloat *matPdf, RixBXLobeWeights *weights, RixBXLobeSampled *lobeSampled, RtInt *lightGrpIds, RixBXLobeWeights *contribution, RtColorRGB *trans, RtFloat *lightPdfIllum, RtFloat *lightPdfEmit, RtFloat *dirPdf, RtFloat *solidAngToArea, RtColorRGB *throughput=NULL, RtFloat *volForwardPdf=NULL, RtFloat *volReversePdf=NULL, RtFloat *volCrossPdf=NULL)=0
 
virtual void BeginEmission (Mode m, RtInt *fixedSampleCount=NULL)=0
 
virtual void GenerateEmission (RtInt numPts, RtInt *integratorCtxIds, RtInt *rayIds, RtInt numSamples, RixRNG *rng, RtInt *lightGrpIds, RixBXLobeWeights *contribution, RtColorRGB *trans, RtInt *numGrps, RixShadingContext const ***shadeCtxs, RtPoint3 *lightPos, RtVector3 *lightNorm, RtFloat *dist, RtFloat *lightPdfIllum, RtFloat *lightPdfEmit, RtVector3 *dir, RtFloat *fDir, RtFloat *dirPdf, RtFloat *solidAngToArea, RtInt *directIllumDisabled=NULL, RtFloat *volForwardPdf=NULL, RtFloat *volReversePdf=NULL, RtFloat *volCrossPdf=NULL)=0
 
virtual void End ()=0
 
virtual int GetNumLightGroups ()=0
 
virtual int GetLightGroup (const char *name)=0
 
virtual const char * GetLightGroupName (int i)=0
 
virtual int GetTotalFixedSamples ()=0
 
- Public Member Functions inherited from RixInterface
virtual int GetVersion () const
 

Protected Attributes

RixShadingContext const * shadingCtx
 
RixBXEvaluateDomain domain
 
- Protected Attributes inherited from RixInterface
int m_version
 Version number of this interface.
 

Additional Inherited Members

- Protected Member Functions inherited from RixInterface
 RixInterface (int version)
 Interfaces should not be constructed by users.
 
virtual ~RixInterface ()
 Interfaces should not be deleted by users.
 

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