Clockwise versus counter-clockwise geometry strikes again (Shadow code is sensitive to the problem as well...)


Sat down to figure out why the shadow-rendering context in OpenGLContext has such problems with the tessellations of Jelle's project. First thing I wound up doing was backing out earlier changes to try to get the VBO extension working, then had to back-port the Python 2.3 PyInt_AsUnsignedLongMask function so that the typemaps for long integers would work again (could have sworn I fixed that a while ago, but this is a better fix).

Having done that it appears that the problem is the silly tessellator's insistence on creating geometry which mixes CCW and CW geometry. The shadow code requires consistent winding in the geometry or it makes wrong conclusions about the edge-ownership for the triangles, which makes it ignore the edges it can't figure out... which results in garbage rendering.

Maybe I should just write my own tessellation routines... I just don't feel like doing it :( .

Comments

Comments are closed.

Pingbacks

Pingbacks are closed.