• Advertisement
Sign in to follow this  

3D Grid Texture Mapping

This topic is 4311 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, well thise time I'm creating a room,where the floor and walls are made with GL_QUAD_STRIP, like a kind of GRID, now the problem is that I can't make the Texture Mapping over the floor, I have tryed several forms to do it, but no once seems to work... glNormal3f(0.0, 1.0, 0.0); for (j = 0; j <= h; j+=2) { glBegin(GL_QUAD_STRIP); for (i = 0; i <= w; ++i) { if(i==0&&j==0) glTexCoord2f(0.0f, (float)h); else if(i>=w&&j>=h) glTexCoord2f((float)w, (float)h); glVertex3f(i, 0.0, (j + 2)); if(i==0&&j==0) glTexCoord2f(0.0f, 0.0f); else if(i>=w&&j>=h) glTexCoord2f((float)w, 0.0f); glVertex3f(i, 0.0, j); } glEnd(); } Sorry about my bad english :p

Share this post


Link to post
Share on other sites
Advertisement
glTexCoord2f requires texture coordinates in the range of [0.0f -> 1.0f], unless you are using some kind of texture repeat/mirroring method (or NPOT sized textures with non-normalized texture coordinates). I'm guessing that both 'w' and 'h' are much larger than 1.

Try dividing your loop index by the width/height passed to glTexCoord2f, like so:

if(i==0&&j==0) glTexCoord2f(0.0f, (float)j / (float)h);
else if(i>=w&&j>=h) glTexCoord2f((float)i / (float)w, (float)j / (float)h);

This is also assuming you've properly loaded, bound, and enabled your texture as well... but I'd need to see some more code to determine if there is a problem there or not.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement