I am using a deferred renderer for some time now however I think the way my pipeline is set up could be optimized here and there...
This is a general overview over what I am doing:
1. G-Buffer for solid geometry only 2. Light calculation on the solid geometry For each transparent layer (here the transparent objects should be sorted from far to close up): 3. G-Buffer for transparent geometry 4. Lights for the transparent geometry 5. Render all my particles without depth testing from d3d but find out what to draw and where to blend through the several position buffers 6. Finally compose the image all together.
I know myself this method has some drawbacks, but I kind of come up with this layout by myself with only little inspiration from some articles.
As far as I am concerned the image looks good to me, but this method obviously consumes a lot of resources. Especially deciding how many layers of transparent geometry you want to render is hard to answer for me.
My question is now how do you encounter this problem to handle transparency in a deferred renderer. Do you have ideas, suggestions, improvements or a totally different approach to render transparent objects?