PDA

View Full Version : PBO->VBO problem in GL_SELECT mode



flamz
06-26-2006, 08:43 AM
Hello,
I am doing some heavy usage of PBO to VBO transfer (or render to vertex array) recently and have come across several bugs, some performance issues and crashes that have been resolved by the release of the nVidia 91.28 beta driver. I am however having this bug that wont go away and that I was able to reproduce using nVidia's gpu_particle example.

Basically, when I draw a mesh using a VBO that was built by a PBO->VBO transfer (GL_PIXEL_PACK_BUFFER) and that the RenderMode is set to GL_SELECT, I get a crash. This can easily be reproduced with nVidia's example gpu_particles by setting the RenderMode to GL_SELECT. Like this:




#define PICK_BUF_SIZE 2500000
static UINT g_unBuf[PICK_BUF_SIZE*2];

void
ParticleSystem::Display()
{
::glSelectBuffer( PICK_BUF_SIZE, (GLuint*)g_unBuf );

(void) ::glRenderMode( GL_SELECT );
::glInitNames();

::glPushName( (GLuint) -1 );

// draw particles
glColor3f(1.0, 0.0, 0.0);
glPointSize(1.0);
glBegin(GL_POINTS);
for(int i=0; i<m_w*m_h; i++) {
glVertex3fv( (float *) &amp;m_pos[i] );
}
glEnd();

::glPopName();

GLint numberOfHits = ::glRenderMode( GL_RENDER ); // Note - the return to this call is SIGNED !
}What's happening here? Another driver bug? Or a limitation? Can VBO be used while in GL_SELECT mode?