i´m implementing shadow volumes. but the problem is the shadows don´t appear.
first i create the shadow volume which is stored in dList.
Insel is my terrain on which the shadow should appear.
then i use the following code snippet to render the scence.
does anybody know what i´m making wrong?
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
Insel->configRendering();
Insel->render();
Insel->recoverContext();
//glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
//glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
//glDepthMask(GL_FALSE);
glStencilFunc(GL_ALWAYS,0,0);
glStencilOp(GL_KEEP,GL_KEEP,GL_INCR);
glCullFace(GL_BACK);
glCallList(dList);
glStencilOp(GL_KEEP,GL_KEEP,GL_DECR);
glCullFace(GL_FRONT);
glCallList(dList);
glDepthMask(GL_TRUE);
glColorMask(GL_TRUE,GL_TRUE,GL_TRUE,GL_TRUE);
//glCullFace(GL_BACK);
glDepthFunc(GL_LESS);
glStencilOp(GL_KEEP,GL_KEEP,GL_KEEP);
//glStencilFunc(GL_EQUAL,1,1);
glDisable(GL_LIGHTING);
/*
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3,GL_FLOAT,0,Insel->terrainData);
glDisable(GL_TEXTURE_2D);
glColor3f(0.0f,0.0f,0.0f);
for (int i=0;i<Insel->width-1;i++)
{
glDrawElements(GL_TRIANGLE_STRIP,Insel->width2,GL_UNSIGNED_INT,Insel->indexes+iInsel->width2);
}
glDisableClientState(GL_VERTEX_ARRAY);
Insel->configRendering();
Insel->render();
Insel->recoverContext();/
glStencilFunc(GL_EQUAL,0,1);
Insel->configRendering();
Insel->render();
Insel->recoverContext();
glDepthFunc(GL_LESS);
glDisable(GL_STENCIL_TEST);
i`m glad about every suggestion!
Poons