I\'m writing a 2D game using SDL and OpenGL in the D programming language. At the moment it simply tries to render a texture-mapped quad to the screen. Problem is, the whole
Don't you need a glOrtho(0., 800, 600, 0., 0., 1.);
in the paintGL function?
One common mistake is to create/use an incomplete texture, see here.
Your code does not show any call to :
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR/*or GL_NEAREST*/);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR/*or GL_NEAREST*/);
and also does not show any mipmap creation.
You problem may be related to your texture being incomplete.
Try enabling GL_COLOR_MATERIAL
? I haven't used the fixed-functionality pipeline in a while, but I think that might do it.
Just a vague theory here: have you tried drawing the vertices counter-clockwise instead of clockwise?
glTexCoord2i(0, 0); glVertex2i(0, 0);
glTexCoord2i(0, 1); glVertex2i(0, 64);
glTexCoord2i(1, 1); glVertex2i(64, 64);
glTexCoord2i(1, 0); glVertex2i(64, 0);