【发布时间】:2013-01-07 18:01:36
【问题描述】:
我正在尝试用纹理渲染一个正方形。 它工作正常,除了我在两个三角形相交的对角线边缘得到一条像素化线。
纹理:
三个正方形的渲染结果,每个正方形由两个三角形组成:
这条线只出现在对角线上。垂直或水平边缘不显示任何内容。
代码:
import qualified Graphics.Rendering.OpenGL as GL
import qualified Graphics.UI.GLFW as GLFW
初始化:
GL.lineSmooth $= GL.Enabled
GL.polygonSmooth $= GL.Enabled
GL.blend $= GL.Enabled -- A
GL.blendFunc $= (GL.SrcAlpha, GL.OneMinusSrcAlpha)
GL.lineWidth $= 1.5
加载纹理:
GL.texture GL.Texture2D $= GL.Enabled
(texName:_) <- GL.genObjectNames 1
GL.textureBinding GL.Texture2D $= Just texName
GL.textureFilter GL.Texture2D $= ((GL.Nearest, Nothing), GL.Nearest)
_ <- GLFW.loadTexture2D "wall.tga" [GLFW.BuildMipMaps]
渲染四边形:
GL.textureBinding GL.Texture2D $= Just texName
GL.renderPrimitive GL.TriangleStrip $ do
GL.texCoord $ GL.TexCoord2 0 (1::GL.GLfloat)
GL.vertex $ vertex3 20 0 0
GL.texCoord $ GL.TexCoord2 0 (0::GL.GLfloat)
GL.vertex $ vertex3 20 20 0
GL.texCoord $ GL.TexCoord2 1 (1::GL.GLfloat)
GL.vertex $ vertex3 0 0 0
GL.texCoord $ GL.TexCoord2 1 (0::GL.GLfloat)
GL.vertex $ vertex3 0 20 0
GL.textureBinding GL.Texture2D $= Nothing
我尝试渲染 GL.Polygons 和 GL.Quads:结果相同。
当我评论带有-- A 标记的行时,它们就消失了。为什么?
【问题讨论】: