Bad interaction with glNewList and gluNewTess

I have a working openGL app on Mac OS X 10.3.9 that does the following (simplified):

tess = gluNewTest;

list = glGenList(1);

gluTessBeginPolygon(tess, …)

// Make a complex polygon

gluTessEndPolygon(tess);

glEndList();

later on I use the list as follows:

glColor3f(r, g, b);
glCallList(list);

Each time I change the color the poly is correctly rendered in that color.

On a Windows XP laptop the same code seems to include the current color in the list so that whatever color was current prior to the glNewTess is remembered in the list - each time glCallList is executed the color value present when the list was made appears rather than the color I set right before glCallList.

This seems counter to all documentation and working openGL on the Mac.

I don’t see any reason gluTess* should do anything with state…?

Any ideas?

thanks
Todd

I guess you used glNewList but I couldn’t see it.

Yes I did - it got lost in the simplification.

I have refined the problem further: The color “picked up” in the list is actually the color in effect when the first call to glCallList occurs - not at the time of the tessellation.

So somehow the current color is “sticking” to the list… Very strange.

Todd

Further info:

It works on a PC with a Mobility Raedon CHIP (an older Sony Viao laptop), but not on a newer Sony Viao (but not new) version with a Mobitility 7500 chip.

This would appear to be a chip, driver or update problem…

Todd