使用GLU中的tesselation指定纹理坐标

时间:2016-04-13 23:05:13

标签: python opengl glu

使用标准多边形方法将纹理映射到OpenGL中的曲面时,您可以执行以下操作:

size = 10
glBegin(GL_POLYGON)

glNormal3f(0.0, 0.0,-1.0)
glTexCoord2f(0.0, 0.0); glVertex3f(0.0, 0.0, 0.0);
glTexCoord2f(size, 0.0); glVertex3f(0.0, size, 0.0);
glTexCoord2f(size, size); glVertex3f(0.0, size, size);
glTexCoord2f(0.0, size); glVertex3f(0.0, 0.0, size);

glEnd()

但是,我使用tesselation渲染表面,所以我的代码如下所示:

gluTessBeginPolygon(self.tessellator, None)
gluTessBeginContour(self.tessellator)

for vertex in vertices:
    gluTessVertex(self.tessellator, vertex, vertex)

gluTessEndContour(self.tessellator)
gluTessEndPolygon(self.tessellator)

gluTess是否有可用于指定纹理坐标的函数,例如可用于不使用tesselation的多边形的glTexCoord2f函数?

如果没有指定纹理坐标,似乎选择纹理的第一个像素的颜色然后显示在整个表面上,而不是实际显示纹理。

0 个答案:

没有答案