Originally posted by method5:
any idea why it would do this?? just show them in one solid color…
for(i = 0; i<MaxY-1; i++) { for(int j = 0; j<MaxX-1; j++) { tile = map[dCameraX + j][dCameraY + i]; glBindTexture(GL_TEXTURE_2D, tiles[tile]); glBegin(GL_QUADS); glVertex2f(drawingx, drawingy); glVertex2f(drawingx + 32, drawingy); glVertex2f(drawingx + 32, drawingy + 32); glVertex2f(drawingx,drawingy + 32); glEnd(); drawingx = drawingx + 32; } drawingy = drawingy + 32; drawingx = doffsetX; }
Notice something? Yep …
You need texture coordinates here!
glBindTexture(GL_TEXTURE_2D, tiles[tile]); glBegin(GL_QUADS); glTexCoord2f(0.0f,0.0f); glVertex2f(drawingx, drawingy); glTexCoord2f(1.0f,0.0f); glVertex2f(drawingx + 32, drawingy); glTexCoord2f(1.0f,1.0f); glVertex2f(drawingx + 32, drawingy + 32); glTexCoord2f(0.0f,1.0f); glVertex2f(drawingx,drawingy + 32); glEnd();