//component
glRotatef((GLfloat)-90, 1, 0, 0);
gluCylinder(qObj,t_width/2,t_width/2,t_height+2*UDwall, 20, 20);
glRotatef((GLfloat)90, 1, 0, 0);
我想绘制一个附加纹理部分的圆柱体。
glBindTexture(GL_TEXTURE_2D, texName[1]);//+
但是不像glVertex3f,当我绑定一个使用TexCoord无法做到的纹理时。 (所以只打印整个纹理;ㅅ;)
首先是我可以做些什么来调整纹理部分。
第二个(有人建议使用纹理图集)我可以将纹理的Max coord(0.0~1.0)更改为其他数字吗?
答案 0 :(得分:0)
您可以使用TextureMatrix转换纹理的坐标,以便所需的矩形形状(来自纹理altas)位于正确的位置。
因此,假设您要为具有坐标(x,y)
和尺寸(a,b)
的矩形进行纹理处理。我们在这里要实现的是(0,0)
的{{1}}和(x,y)
的{{1}}。
使用纹理矩阵
翻译(1,1)
按(x+a, y+b)