A shader shouldn't be necessary because this is just something that is part of the stencil shadow crap in DirectX. I got a response from Mnemonic at Wintermute. He's basically saying jcl is on the right track, and here's the msssage:

Quote:


Hi Ryan,

the hidden geometry indeed needs to be rendered into the depth buffer, so that the shadow volume is properly mapped onto it. In Direct3D the following render states should do the trick:

Code:

m_Device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
m_Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO);
m_Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);



This unfortunately also means the hidden geometry must closely match the 2D image, otherwise the depth buffer will mask the 3D character (like on this screenshot: http://www.dead-code.org/blog/wp-content/shadow2.png).

JN





So, if someone knows what that means, then this is the key or at least an entry into what I need.

@frazzle: The parallel, camera facing planes are going to have the art on them. I could just as easily make them regular sprites if I wanted. The shadow can only interact with the invisible collision hull (block, model, whatever...it's separate from the sprite art or the plane with the art mapped on it..whichever I use), so it has to exist for not only this shadow stuff but also for collision for the player. The 2D art is placed within the level at the approximate place the collision hull is at. If every matches, then the shadows should appear to contour around the elements in the art. You can see this in the screenshot in my first post. The shadow is going up the wall, but that's just a 2D bitmap background. It's really contouring to the collision hull.