RixLightFilter Class Reference

RixLightFilter Class Referenceabstract

#include <RixLightFilter.h>

Inheritance diagram for RixLightFilter:
RixShadingPlugin

Public Member Functions

virtual int GetInterface () const
 
virtual int Init (RixContext &ctx, char const *pluginPath)=0
 
virtual void Finalize (RixContext &)=0
 
virtual RixSCParamInfo const * GetParamTable ()=0
 
virtual void Filter (RixLightFilterContext const *lfCtx, RtConstPointer instancedata, RtInt const numSamples, RtInt const *shadingCtxIndex, RtVector3 const *toLight, RtFloat const *dist, RtFloat const *lightPdfIllum, RixBXLobeWeights *contribution)=0
 
- Public Member Functions inherited from RixShadingPlugin
virtual int GetVersion () const
 
virtual void Synchronize (RixContext &, RixSCSyncMsg, RixParameterList const *)
 
virtual int CreateInstanceData (RixContext &, char const *, RixParameterList const *, InstanceData *)
 

Additional Inherited Members

- Protected Member Functions inherited from RixShadingPlugin
 RixShadingPlugin (int version)
 
- Protected Attributes inherited from RixShadingPlugin
int m_version
 

Detailed Description

RixLightFilter plugins modify the lighting contribution to a surface point after a light has been sampled. Light filters operate over a set of samples that are associated with points in a shading context. All of the array paramenters to Filter() are numSamples in length.

Any one point in the shading context may be represented more than once in these arrays if, for instance, the number of light samples provided to an integrator is greater than one. The shadingCtxIndex gives the index in the shading context corresponding to a particular sample, and can be used as an index into data retrieved from the light filter context, such as built-in and primitive variables.

Member Function Documentation

virtual void RixLightFilter::Filter ( RixLightFilterContext const *  lfCtx,
RtConstPointer  instancedata,
RtInt const  numSamples,
RtInt const *  shadingCtxIndex,
RtVector3 const *  toLight,
RtFloat const *  dist,
RtFloat const *  lightPdfIllum,
RixBXLobeWeights contribution 
)
pure virtual

Called after light sample generation, before bxdf evaluation. Setting the contribution to zero across all lobes will disable shadow ray generation for the sample.


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