Opengl - 使用纹理图集绘制圆柱体

Opengl - Draw Cylinder using texture atlas

本文关键字:绘制 圆柱体 纹理 Opengl      更新时间:2023-10-16
//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无法做到。(所以只是整个纹理打印;ᄉ;(

首先是我能做些什么来调整纹理部分。

其次是(有人建议使用纹理图集(我可以将纹理的最大坐标(0.0~1.0(更改为其他数字吗?

您可以使用纹理矩阵来转换纹理的坐标,以便所需的矩形形状(来自纹理 altas(位于正确的位置。

因此,假设您要为具有坐标(x,y)和尺寸(a,b)的矩形进行纹理处理。我们在这里要实现的是 让纹理处于(0,0) 对于(x,y)(1,1)对于(x+a, y+b)

溶液

使用纹理矩阵
翻译者:(-x, -y)
(1.0 / a, 1.0 / b)缩放