static void cwk2_sprite_render (Cwk1RenderMode mode, Shape *sprite) { Cwk2SpriteData *data = sprite->private_data; glMatrixMode (GL_PROJECTION); glPushMatrix (); glLoadIdentity (); gluOrtho2D (0, 1, 1, 0); glMatrixMode (GL_MODELVIEW); glLoadIdentity (); glDisable (GL_CULL_FACE); glDisable (GL_LIGHTING); glEnable(GL_TEXTURE_2D); glBindTexture (GL_TEXTURE_2D, data->texture); glBegin (GL_QUADS); glColor4fv (sprite->colour); glTexCoord2f(0, 0); glVertex2f(0, 1); glColor4fv (sprite->colour); glTexCoord2f (1, 0); glVertex2f (1, 1); glColor4fv (sprite->colour); glTexCoord2f (1, 1); glVertex2f (1, 0); glColor4fv (sprite->colour); glTexCoord2f (0, 1); glVertex2f (0, 0); glEnd (); glEnable (GL_CULL_FACE); glEnable (GL_LIGHTING); glDisable(GL_TEXTURE_2D); glPopMatrix (); glMatrixMode (GL_PROJECTION); glPopMatrix (); glMatrixMode (GL_MODELVIEW); } // changes: // missed a glPopMatrix() at end // order of drawing vertices // glEnable(GL_TEXTURE_2D)