Call ordering
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.
Order | Name | Comment | Granularity | Access to options | Access to RixIntegratorEnvironment |
---|---|---|---|---|---|
Once per rendering session. | |||||
#1 |
| When the first instance of a shading plugin is created. | For each plugin. | Deprecated. | No. |
Before the first render and between renders. | |||||
#2 |
| When the first instance of a shading plugin is created, after the plugin's | For each shading plugin instance. | Deprecated. | No. |
| At least once for each light plugin instance (*). | ||||
#3 |
| Shortly after | Deprecated. | No. | |
For each render. | |||||
#4 |
| For each | Yes. | No. | |
| Responsible for filling the | For each | Yes. | Writing. | |
#5 |
| With the synchronization message | For each plugin. | Yes. | Yes. |
#6 |
| Only if | For each plugin instance. | Yes. | Yes. |
Once per rendering session. | |||||
#7 |
| Before unloading the shading plugins. | For each plugin. | 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.