I get some strange test results when I use ATI_separate_stencil instead of the conventional calls to perform a Z-pass shadow volume algorithm.
Enabling this extension produces slower performances than with conventional stencil OGL functions on my system (PIII 800, ATI 9700 pro). Here are the two algorithms:
Conventional calls:
glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS,0,~0);
glStencilMask(~0);
glCullFace(GL_FRONT);
glStencilOp(GL_KEEP,GL_KEEP,GL_INCR);
DrawShadowVolume();
glCullFace(GL_BACK);
glStencilOp(GL_KEEP,GL_KEEP,GL_DECR);
DrawShadowVolume();
With ATI_separate_stencil extension:
glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
glDisable(GL_CULL_FACE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS,0,~0);
glStencilMask(~0);
glStencilOpSeparateATI(GL_FRONT,GL_KEEP,GL_KEEP,GL_INCR_WRAP_EXT);
glStencilOpSeparateATI(GL_BACK,GL_KEEP,GL_KEEP,GL_DECR_WRAP_EXT);
DrawShadowVolume();
Both of them produce indistinguishable and accurate visual results.
Any idea? Is it possible that such an extension is CPU-dependant?
[This message has been edited by kard (edited 08-15-2003).]
[This message has been edited by kard (edited 08-15-2003).]