My draw method can be simplified as follows:
// [Background Effects] DrawBackground(gameTime); // [Deferred Rendering] deferredRendering.Draw(gameTime); // [Forward Rendering] DrawForwardScene(gameTime); // [Debug Rendering] DrawDebug(); // [Transparent Rendering] DrawTransparent(gameTime);
The transparent rendering requires a background texture which is the accumulate render result from the previous rendering methods (i.e. the scene so far before transparent objects)
Deferred rendering requires enabling and disabling its own render targets so I currently have a separate final output render target for that method.
If I want to gather the final render from the previous 4 rendering methods what would be the best way to approach it?
I thought about using COLOR4 output (so it doesn't interfere with deferred rendering) and setting one render target for all render methods but I'm not certain about that approach.
Any other approach would probably require combining the final rendered texture from each draw method. This is what I am uncertain about.
Would it be a case of:
// SET render target // [Background Effects] DrawBackground(gameTime); // UNSET render target // Pass render target TEXTURE to next render method
If so, how do I combine the textured passed with the current output for the render method?
Is there a tried and tested method for automating this render target passing approach?