Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Contents

Here is the order in which various RixShadingPlugin API methods are called.

When a method is called for all shading plugins, we will use the RixShadingPlugin base class method.


OrderNameCommentGranularityAccess to optionsAccess to RixIntegratorEnvironment
Once per rendering session.
#1

RixShadingPlugin::Init()

When the first instance of a shading plugin is created.For each plugin.Deprecated.No.
Before the first render and between renders.
#2RixShadingPlugin::CreateInstanceData()

RixIntegratorFactory::CreateIntegrator()

RixProjectionFactory::CreateProjection()

When the first instance of a shading plugin is created,

after the plugin's Init() has been called.

For each shading plugin instance.Deprecated.No.
RixLightFactory::CreateLight()At least once for each light plugin instance (*).
#3RixBxdf::GetInstanceHints()When a bxdf plugin instance is created, immediately after CreateInstanceData().
Deprecated.No.
For each render.
#4RixProjection::RenderBegin()When a render starts.For each RixProjection.Yes.No.
RixIntegrator::RenderBegin()When a render starts. This method needs to populate the RixIntegratorEnvironment structure.For each RixIntegrator.Yes.Writing.
#5RixShadingPlugin::Synchronize()When a render starts (k_RenderBegin).For each plugin.Yes.Yes.
#6RixShadingPlugin::SynchronizeInstanceData()When a render starts.For each plugin instance.Yes.Yes.
Once per rendering session.

RixShadingPlugin::Finalize()At the end of the rendering session.Once per rendering session.Deprecated.No.

(*) RixLightFactory::CreateInstanceData() will be called once for each light plugin instance. RixLightFactory::CreateLight() will be called once per light plugin instance, per instance of the corresponding light. This is a behavior specific to the RixLight API.