From: Daniel E. S. <dan...@gm...> - 2006-09-22 16:21:55
|
Hello all, I have an application that is processing the crServer loop by hand. It looks like so... NOTE: has_swapped gets set to 1 when glXSwapBuffers is seen within the stream. also, the glEnables are to explain my example // Draw graphics off the GL stream glPushMatrix(); glEnable(GL_LIGHTING); glEnable(GL_LIGHTING); glEnable(GL_LIGHTING); while (cr_server.has_swapped != 1) { if(cr_server.run_queue != NULL) { crServerServiceClients(); } } cr_server.has_swapped = 0; glDisable(GL_LIGHTING); glDisable(GL_LIGHTING); glDisable(GL_LIGHTING); glPopMatrix(); When the code is compiled and ran the buGLe log shows: trace.call: glPushMatrix() trace.call: glEnable(GL_LIGHTING) trace.call: glEnable(GL_LIGHTING) trace.call: glEnable(GL_LIGHTING) <-- Over the wire drawing should begin here. trace.call: glDisable(GL_LIGHTING) trace.call: glDisable(GL_LIGHTING) trace.call: glDisable(GL_LIGHTING) trace.call: glPopMatrix() trace.call: glPushAttrib(GL_ALL_ATTRIB_BITS) <-- but begins here... trace.call: glGetBooleanv(GL_LIGHTING, 0x43c06bbb -> GL_FALSE) trace.call: glGetBooleanv(GL_LIGHT0, 0x43c06bba -> GL_TRUE) trace.call: glMaterialfv(GL_FRONT, GL_AMBIENT, 0x43c06ba0 -> { 0.1, 0.1, 0.1, 1 }) trace.call: glMaterialfv(GL_FRONT, GL_SHININESS, 0x43c06b90 -> 50) trace.call: glMaterialfv(GL_FRONT, GL_SPECULAR, 0x43c06b70 -> { 1, 1, 1, 1 }) trace.call: glMaterialfv(GL_FRONT, GL_DIFFUSE, 0x43c06b80 -> { 0.7, 0.7, 0.7, 1 }) trace.call: glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE) trace.call: glEnable(GL_COLOR_MATERIAL) trace.call: glDisable(GL_TEXTURE_2D) trace.call: glDisable(GL_TEXTURE_1D) trace.call: glPushMatrix() trace.call: glLoadIdentity() trace.call: glBegin(GL_LINES) trace.call: glColor3f(1, 0, 0) trace.call: glVertex3fv(0x43c06b30 -> { 0, 0, 0 }) trace.call: glVertex3fv(0x43c06b60 -> { 3.28, 0, 0 }) trace.call: glColor3f(0, 1, 0) trace.call: glVertex3fv(0x43c06b30 -> { 0, 0, 0 }) ..... I tried calling getNextClient with GL_TRUE (block)...but it had no effect. So my question is how to make sure that the stream has been deserialized into GL calls before I can continue making GL calls? -Dan |