Hi,
I am trying to implement shadow volume. To speed up the rendering I try to use GL_EXT_stencil_two_side & GL_ATI_seperate_stencil but unsuccessfully.
My two pass program is :
glEnable(GL_CULL_FACE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 0, 1);
glStencilMask(1);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP_EXT);
glCullFace(GL_BACK);
renderShadowVolume();
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR_WRAP_EXT);
glCullFace(GL_FRONT);
renderShadowVolume();
////////////////////////////////////
My GL_EXT_stencil_two_side program is :
glEnable(GL_CULL_FACE);
glEnable(GL_STENCIL_TEST);
glEnable(GL_STENCIL_TEST_TWO_SIDE_EXT);
glActiveStencilFaceEXT(GL_FRONT);
glStencilMask(1);
glStencilFunc(GL_ALWAYS, 0, 1);
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR_WRAP_EXT);
glActiveStencilFaceEXT(GL_BACK);
glStencilMask(1);
glStencilFunc(GL_ALWAYS, 0, 1);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP_EXT);
renderShadowVolume();
////////////////////////////////////
My GL_ATI_separate_stencil program is :
glEnable(GL_STENCIL_TEST);
glStencilMask(GL_TRUE);
glStencilFunc(GL_ALWAYS, 0, 1);
glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR_WRAP_EXT);
glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR_WRAP_EXT);
renderShadowVolume();
////////////////////////////////////
Did you see something wrong ?
The 2 pass program works but the others don’t.
With GL_EXT_stencil_two_side I don’t anything about shadow volume and with GL_ATI_seperate_stencil, the shadow volume is fully draw…