So far this only happens on my VAIO Laptop running Mandrake 6.0 with
a 2.2.11 kernel and a self compiled version of Mesa 3.2. It doesn't
happen on my desktop (Mandrake 6.0, 2.2.13, forgot to check which
version of Mesa - oops).
Scott McMillan wrote:
>
> I am trying to implement a multipass rendering technique similar
> to Mark Kilgard's real-time shadow library, that involves multiple
> rendering passes:
>
> 1) render the scene with normal lights no stencil
> glEnable(GL_LIGHT0);
> glEnable(GL_LIGHTING);
>
> 2) render the front faces of shadow volumes with the following
> glDisable(GL_LIGHTING);
> glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
> glEnable(GL_STENCIL_TEST);
> glDepthMask(GL_FALSE);
> glStencilFunc(GL_ALWAYS, 0, 0);
> glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
>
> 3) render the back faces of the shadow volumes with the following:
> glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
>
> 4) render the original scene with a different color light:
> glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
> glDepthFunc(GL_EQUAL);
> glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
> glStencilFunc(GL_NOTEQUAL, 0, ~0);
>
> glDisable(GL_LIGHT0);
> glEnable(GL_LIGHT1);
> glEnable(GL_LIGHTING);
>
> With Mesa, everything works except that I get a white
> translucent (like screen door transparency) haze where the
> shadow volumes are. This occurs in areas where the stencil
> values were incremented and then decremented back to zero
> so there should have been no rendering into the color buffer
> after the first step.
>
> This does not happen on SGI's or most NT drivers.
>
> Anybody have any ideas? Should I also report this as a bug?
>
> scott
--
Scott McMillan mailto:mcm...@ca...
Cambridge Research Associates http://www.cambridge.com
1430 Spring Hill Road, Ste. 200 Voice: (703) 790-0505 x7235
McLean, VA 22102 Fax: (703) 790-0370
|