Archived

This topic is now archived and is closed to further replies.

Breadfan

stencil shadow woes

Recommended Posts

Breadfan    122
hi, ive been racking by brain for weeks, i cant seem to figure out what is causing these artifacts in my demo: http://atlas.imagemagician.com/images/break_stuff/stencilFUBAR.jpg as the light gets closer it messes up evan more. its very simple demo using zpass. i have extesevily tested the silhouette routine and know that the outline is being calculated correctly, so it must be something to do with the stencil buffer. heres what the outline looks like http://atlas.imagemagician.com/images/break_stuff/siloute.jpg and the shadow mesh: heres what the mesh looks like when light is up close. the first screeny was taken when the light is far away http://atlas.imagemagician.com/images/break_stuff/shadow_mesh.jpg heres the main drawing routine: //Set up iniial z values glDisable(GL_STENCIL_TEST); glColorMask(0,0,0,0); glDepthMask(1); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL ); Rect1();//the green rectangle AnimateModel(&obj); glEnable(GL_CULL_FACE); glEnable(GL_STENCIL_TEST); //BACK FACES//// glCullFace(GL_BACK); bool backf = 0; glColorMask(backf,backf,backf,backf); glStencilOp(GL_KEEP, GL_KEEP, GL_INCR); glStencilFunc(GL_ALWAYS, 0, ~0); glDepthMask(0); //project the outline Rhino.ProjectSiloute(light,&obj,time,0); bool frontf = 0; glColorMask(frontf,frontf,frontf,frontf); //FRONT FACES//// glCullFace(GL_FRONT); glStencilOp(GL_KEEP,GL_KEEP , GL_DECR); glStencilFunc(GL_ALWAYS, 0, ~0); glDepthMask(0); //project the outline Rhino.ProjectSiloute(light,&obj,time,0); //MAIN DRAWING PASS bool color = 1; glColorMask(color,color,color,color); glDisable(GL_CULL_FACE); glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); glStencilFunc(GL_EQUAL , 0, ~0); glDepthMask(1); //Draw thegreen rectangle Rect1(); glDisable(GL_STENCIL_TEST); all help appreciated [edited by - Breadfan on January 28, 2003 2:21:22 PM]

Share this post


Link to post
Share on other sites