...
Generally, there is one shading plugin instance of a RixLightFilter per bound RiLightFilter (RIB) request. This instance may be active in multiple threads simultaneously.
The RIX_LIGHTFILTERPLUGINCREATE macro defines the CreateRixLightFilter() function, which is called by the renderer to create an instance of the light filter plugin. Generally, the implementation of this method should simply return a new allocated copy of your light filter class. Similarly, the RIX_LIGHTFILTERPLUGINDESTROY macro defines the DestroyRixLightFilter() function called by the renderer to delete an instance of the light filter plugin; a typical implementation of this method is to delete the passed in light filter pointer:
Code Block |
---|
RIX_LIGHTFILTERPLUGINCREATE
{
return new MyLightFiler();
}
RIX_LIGHTFILTERPLUGINDESTROY
{
delete ((MyLightFilter*)bxdf);
}
|
RixLightFilter::Filter()
Filter is where the work is done.
...