Hi all,
I have an application which is using one single VBO for several objects.
Its rendering loop looks like: (don't have the source of the app, got that
from the print SPU)
BindBufferARB( GL_ARRAY_BUFFER, 1 )
BindBufferARB( GL_ELEMENT_ARRAY_BUFFER, 2 )
VertexPointer( 3, GL_FLOAT, 32, 00000000 )
DrawElements...
...
VertexPointer( 3, GL_FLOAT, 32, 00000FA0 )
DrawElements...
...
VertexPointer( 3, GL_FLOAT, 32, 000113C0 )
DrawElements...
but on th crserver, the print SPU gives something like:
BindBufferARB( GL_ARRAY_BUFFER, 1 )
BindBufferARB( GL_ELEMENT_ARRAY_BUFFER, 2 )
VertexPointer( 3, GL_FLOAT, 32, 00000000 )
DrawElements...
...
DrawElements...
...
DrawElements...
And the visual result is wrong.
I looked a bit in chromium sources, and it came down to the
crStateClientDiff function in state_client.c.
The two CRClientState pointers "to" and "from" where the same, so the tests
on change of size, type etc never passed.
I just commented these tests and now the app works nicely, but maybe it
breaks something else somewhere!
Regards,
Thomas
|