I''ve not long been playing with OpenGL but have managed to grasp most concepts ok.
However, I just can''t seem to get any texture mapping working. I''ve created a simple square mesh (4 vertices) and loaded an image from raw format.
I then call
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, texture.data);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 256, 256, GL_RGB, GL_UNSIGNED_BYTE, texture.data);
before enabling GL_TEXTURE_2D.
When I render the square I specify the glTexcoords() in a clockwise direction staring at the upper left (i.e. 0,0 1,0 1,1, 0,1). The texture appears, but it''s malformed - half of it seems to have been spread across the square. It''s difficult to explain so I''ve uploaded a picture here http://www20.brinkser.com/eight8/opengl.gif
Would anyone be so kind as to offer some advice on what might be going wrong?
I''m not really sure what''s wrong but I''ll try anyway. First off that picture didn''t work, so I''m just going off your description. It sounds like the texture coordinates in relation to the square''s vertices are being drawn out of order. The texture coordinates sounded right. Play around with the order in which you draw the square''s vertices. Make sure that they are in clockwise order or whatever order you are using. If that doesn''t work try any random order. Just so you know, I''ve used other people''s bmp and tga loaders and they''d show up upside down or something, so I''d have to change the texture coordinates. So you might need to play around with those too. Hope I helped.
[Edited by - atcdevil on October 12, 2006 10:57:17 AM]