|
virtual int | GetInterface () const override |
|
virtual void | Filter (RixLightFilterContext const *lfCtx, RtPointer instanceData, int const numSamples, int const *shadingCtxIndex, RtVector3 const *directions, float const *distances, float const *lightPdfsDirect, RixBXLobeWeights *contribution)=0 |
|
virtual bool | GetRadianceModifier (FilterRadianceModifierProperty property, RixLightFilterContext const *lfCtx, RtConstPointer instanceData, float *result) const =0 |
|
virtual RixSCDetail | GetProperty (RtConstPointer instanceData, LightFilterProperty prop, void const **result) const =0 |
|
virtual int | GetVersion () const |
|
virtual int | Init (RixContext &ctx, RtUString const pluginPath)=0 |
|
virtual void | Finalize (RixContext &ctx)=0 |
|
virtual RixSCParamInfo const * | GetParamTable ()=0 |
|
virtual void | Synchronize (RixContext &ctx, RixSCSyncMsg syncMsg, RixParameterList const *syncParams)=0 |
|
virtual void | CreateInstanceData (RixContext &rixCtx, RtUString const handle, RixParameterList const *parameterList, InstanceData *instanceData) |
|
virtual void | SynchronizeInstanceData (RixContext &rixCtx, RtUString const handle, RixParameterList const *instanceParams, uint32_t const editHints, InstanceData *instanceData) |
|
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.
Definition at line 65 of file RixLightFilter.h.