glTexGen Question
Hello!
I want to use TexGen to texture my skyplane. I know how to use it to strech a surface over a given region, but however, I don''t know how to make it move (add an offset to the texture coordinates).
Is that even possible?
glTranslatef(0.0f, 0.0f, -5.0f);glBegin(GL_QUADS); glTexCoord2f(shift, 1); glVertex3f(0.0f, 1.0f, 0.0f); glTexCoord2f(shift, 0); glVertex3f(0.0f, 0.0f, 0.0f); glTexCoord2f(1+shift, 0); glVertex3f(1.0f, 0.0f, 0.0f); glTexCoord2f(1+shift, 1); glVertex3f(1.0f, 1.0f, 0.0f);glEnd();shift -= 0.0001f;if(shift > 1.0f) shift = 0.0f;if(shift < 0.0f) shift = 1.0f;
initialize float shift to 0.0f and be sure to load indentity before calling this.
Later,
ZE.
//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links
[if you have a link proposal, email me.]
Here''s an image to clarify:
Hope this helps,
ZE.
//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links
[if you have a link proposal, email me.]
Hope this helps,
ZE.
//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links
[if you have a link proposal, email me.]
ZE: I don''t think it can work with TexGen. In fact it is, but that means he would need to change the generation equation(s). Not easy.
I''d recommend using the texture matrix :
glMatrixMode(GL_TEXTURE);
glPushMatrix();
glTranslatef( /* set here the translation of the texture */ );
draw_my_texture_object();
glPopMatrix();
glMatrixMode(GL_MODELVIEW); // or maybe GL_PROJECTION depending on you app
Very simple and very flexible IMO.
I''d recommend using the texture matrix :
glMatrixMode(GL_TEXTURE);
glPushMatrix();
glTranslatef( /* set here the translation of the texture */ );
draw_my_texture_object();
glPopMatrix();
glMatrixMode(GL_MODELVIEW); // or maybe GL_PROJECTION depending on you app
Very simple and very flexible IMO.
Yeah, I also thought about the texture matrix, but I figured my way was a tad easier.
Why exactly are you using TexGen?
Later,
ZE.
//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links
[if you have a link proposal, email me.]
Why exactly are you using TexGen?
Later,
ZE.
//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links
[if you have a link proposal, email me.]
thanx for the answers!
The reason I want to use glTexGen is because that I want to use the same vertex array for drawing the skyplane several times with different textures.
So I guess I have to modifie the texture matrix directly.
so, let''s just say I want the texture to be aligned to the xy plane, having it streched by teh scalars ax/ay and I want to use the offset offx/offy. Would this be the matrix to do that?
ax 0 0 offx
0 ay 0 offy
0 0 0 0
0 0 0 0
?
The reason I want to use glTexGen is because that I want to use the same vertex array for drawing the skyplane several times with different textures.
So I guess I have to modifie the texture matrix directly.
so, let''s just say I want the texture to be aligned to the xy plane, having it streched by teh scalars ax/ay and I want to use the offset offx/offy. Would this be the matrix to do that?
ax 0 0 offx
0 ay 0 offy
0 0 0 0
0 0 0 0
?
In fact the matrix is :
ax 0 0 offx
0 ay 0 offy
0 0 1 1
0 0 0 1
although you don''t have to care about it, since OpenGL computes it himself when you call glTranslate
ax 0 0 offx
0 ay 0 offy
0 0 1 1
0 0 0 1
although you don''t have to care about it, since OpenGL computes it himself when you call glTranslate
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement