我在python中OpenGL中的纹理映射有一些问题。我试着画一个上下弯曲的长方形,但到目前为止,我只能让它在底部弯曲。不知怎么的,鞋面不想形成一条曲线。 我使用的是一个参数为0.2的函数:
def DrawAWobble(y_wobble):
R = y_wobble/2.0 - 1/(2.0*y_wobble)
glBegin(GL_POLYGON)
x = 0.0
while x<2.1:
glTexCoord2f(x*0.5, 1.0); glVertex2f(x/2 - 0.5, 0.5 + (R + math.sqrt(R**2 - (1 - x)**2 + 1)))
x += 0.1
x = 2.0
while x>-0.1:
glTexCoord2f(x*0.5, 0.0); glVertex2f(x/2 - 0.5, -0.5 + (R + math.sqrt(R**2 - (1 - x)**2 + 1)))
x -= 0.1
glEnd()
我得到的结果是在左边,而我应该得到图像的右边。在
评论家蒂姆是对的。问题是GL峎多边形。问题是GPU必须找出如何对任意多边形进行三角剖分,而且它的工作方式不会保留您的映射。您可能希望使用单个四边形条带或三角形条带进行渲染;而不是围绕多边形的边缘进行操作,而是来回交替并交叉处理。像这样的东西(显然没有经过测试):
相关问题 更多 >
编程相关推荐