PDA

View Full Version : pushing/popping attrib array enables



Stephen_H
03-01-2004, 10:59 AM
Is there any way to do this?

I'm doing this right now:

glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableVertexAttribArrayARB(6);

... render using ARBvp ...

glPopClientAttrib();

and the 6th attrib array is not getting turned off by the pop-client attrib. I was kind of expecting GL_CLIENT_VERTEX_ARRAY_BIT would handle the attrib arrays also.

There doesn't seem to be any new tokens in the ARB_vertex_program specification for pushing/popping the generic attrib array enablement state.

(I'm using a Radeon 9800, btw.)

edit - grammar

[This message has been edited by Stephen_H (edited 03-01-2004).]

Nutty
03-02-2004, 09:02 AM
Try adding;




glPushAttrib(GL_ENABLE_BIT);
....
glPopAttrib(GL_ENABLE_BIT);


My reasoning, is that perhaps glEnableVertexAttribArrayARB is being treated like an Enable state?

If that doesn't work, its probably a bug

[This message has been edited by Nutty (edited 03-02-2004).]

zeckensack
03-02-2004, 10:32 AM
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt

Spec sez
(53) Should all the vertex attrib vertex array state push/pop with
CLIENT_VERTEX_ARRAY_BIT?

RESOLVED: Yes.It's a bug. Report it. Include a test case, this makes things easier.