Defined in:Called when an effect should be rendered.
virtual void RenderEffect(const FrustumCamera *camera, List<Renderable> *effectList) = 0;
||The camera for which the effect is being rendered.|
||An array of render lists to which the effect should add its renderables.|
RenderEffectfunction is called when the World Manager has determined that an effect needs to be rendered. This function is only called for an effect node that is enabled and has already passed the visibility and occlusion tests. (An effect can be disabled by setting the
kNodeDisabledflag with the
RenderEffectfunction is called, an
Effectnode should use the
List::AppendListElementfunction to add itself and any additional renderable objects to one or more of the lists in the array specified by the
effectListparameter. This array should be indexed using the following constants.
||Fully lit opaque effects. These are rendered with all types of lighting just like ordinary geometry before all other effects.|
||Partially lit transparent effects. These are rendered after surface effects and before primary transparent effects. Only ambient or unified lighting is applied.|
||Opaque effects. These are rendered after the final lighting pass and before any transparent effects.|
||Surface effects. These are rendered after all opaque effects and before all transparent effects.|
||Primary transparent effects. These are rendered after all opaque effects and are sorted back to front.|
||Frontmost transparent effects. These are rendered after primary transparent effects. They are not sorted.|
||Occlusion queries. These are invisible effects that are rendered after the ambient or unified lighting pass to perform and occlusion query.|
||Distortion effects. These are rendered into the distortion buffer, and the accumulated results are applied during post-processing.|
||Composite effects. These are rendered into the composite buffer, which is later used as a source for ordinary lighting passes.|
RenderEffectfunction should make the following call.
Special ConsiderationsNote that the
RenderEffectfunction can be called multiple times during the same frame for an effect that is visible from multiple cameras. The
RenderEffectfunction should not perform any iterative movement under the assumption that the
RenderEffectfunction is called only once. Instead, this type of computation should be peformed in the