Texture Wrapping

I have made a simple 2d sidescrolling game, but the way I am rendering the tri strips on the terrain requires the texture to be repeated several hundred times horizontally and vertically. I don’t know how to get textures to do that… I know the answer should be simple with OpenGL, so any help at all will be beneficial.

You just need to give the correct tex cordinates, for example:

glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0); glvertex();
glTexCoord2f(0.01, 0.0); glvertex();
glTexCoord2f(0.01, 0.01); glvertex();
glTexCoord2f(0.0, 0.01); glvertex();
glEnd();

that will repeat it 100 times on that quad and all I did was use 1/100=0.01

V-man

Woops! that’s the inverse. use replace all the 0.01 by 100.0

There are other ways too, like using the texture matrix, but I would just give the tex coord straight for a static texture.

V-man

Well, I’m not THAT stupid. The thing is that any texture coordinate above 1 gets clipped back to 1 automatically, so in the example you gave, this is what it would look like:

texture:

1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1

repeat it 2 times on a quad:

1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
0 1 0 1 1 1 1 1
1 0 1 0 0 0 0 0
0 1 0 1 1 1 1 1

this example has it set up as it is in my program, with (0,0) on the bottom left and (2,2) on the top right.

Any ideas?

Set the texture to GL_REPEAT mode in s and t!
Then, giving a 1.5 will be matched to a 0.5, same 2.5 and 3.5 and and and…

actually, I figured it out just before I got that message.

for other beginners wondering how to do this, the specific function calls are:

glBindTexture GL_TEXTURE_2D,TextureID
glTexParameteri GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT
glTexParameteri GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT

thanks!