RixLightFilter Class Reference
#include <RixLightFilter.h>
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
|
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: