Local Info



Multipass Rendering Example

Multipass rendering is a technique that is used to create a lot of the current advanced visual effects such as mirrors and shadows, by taking a scene graph and rendering it multiple times. Each pass typically makes use of the various OpenGL buffers to control what is rendered in any particular pass. Most of the time this makes use of the Stencil Buffer to accept or reject various renderable parts, but frequently the other buffers are used as well. This set of examples takes you through how to use multipass rendering in the context of Aviatrix3D's scene graph.

If you would like to see the complete version of these examples code, they can be found in the examples/multipass directory.


Setting up the application


Controlling the buffer states

Limitations and Recommended Practices

Multipass rendering makes use of the buffer that your main scene is rendered into. When rendering, we clear the buffers, render the multipass code, then come back to the compositing process. Because we don't restrict how you can build your layering composition, we allow you to use multipass rendering at any layer level. If you have used the multipass rendering as one of a number of layers, we end up needing to render it an alternate buffer, then copy the entire buffer back over to the main screen to perform the compositing. That process of copying an entire screen's worth of pixels (potentially several megabytes of colour data for a screen above 1024x768), this can have quite an impact on your performance.