- For Direct3D 9, Yes, sorry, I am about to upgrade, please bear with me, is it possible to render into 2 targets and 1 stencil view simultaneously.
pd3dDevice->OMGetRenderTargets( 1, &pOldRTV, &pOldDSV );
For DX9, do I have to,
I may have some performance hit, but that's ok, I am going to upgrade anyways
pd3dDevice->SetRenderTarget(1, pParticleView);
// Render the particles
RenderParticles( pd3dDevice, pEffect, pVB, pParticleTex, numParts, renderTechnique);
pd3dDevice->SetRenderTarget(2, pParticleColorView);
RenderParticles( pd3dDevice, pEffect, pVB, pParticleTex, numParts, renderTechnique);
CComPtr<IDirect3DSurface9> pStencilBuffer = 0;
pd3dDevice->GetDepthStencilSurface(&pStencilBuffer);
pd3dDevice->SetRenderTarget(3, pStencilBuffer);
RenderParticles( pd3dDevice, pEffect, pVB, pParticleTex, numParts, renderTechnique);