PDA

View Full Version : glDrawPixels working intermittently



huntc
07-24-2009, 07:48 AM
Hi there,

I have a situation where glDrawPixels renders a bitmap. Interestingly the bitmap renders fine all the time on one video card and not on another. In addition, for the card where it doesn't render, it actually does render if floatLabel is true.

Can anyone offer any thoughts on what might be causing the above situation?

Here is the code:

glDepthFunc(GL_ALWAYS);

glColor4f(1.0, 0.0, 0.0, combinedOpacity);
glPointSize(19.0f);

glBegin(GL_POINTS);
glVertex3f(nameAnchorX, nameAnchorY, nameAnchorZ + 1.0);
glEnd();

if (floatLabel) {
glLineStipple(2, 0x5555);
glEnable(GL_LINE_STIPPLE);
glLineWidth(3.0);

glBegin(GL_LINES);
glColor4f(1.0, 1.0, 1.0, 1.0 * combinedOpacity);
glVertex3f(nameAnchorX, nameAnchorY, nameAnchorZ);
glColor4f(0.5, 0.5, 0.5, 0.0 * combinedOpacity);
glVertex3f(nameX, nameY, nameZ);
glEnd();

glDisable(GL_LINE_STIPPLE);
}

// Render the name bitmap

glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
glWindowPos3d(nameWindowX, nameWindowY, 0.0);
glPixelZoom(1.0, namePBOOrientation);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glPixelTransferf(GL_ALPHA_SCALE, combinedOpacity);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, namePBO);
glDrawPixels(namePBOWidth, namePBOHeight, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0);
glPopClientAttrib();

glDepthFunc(GL_LESS);

Kind regards,
Christopher