我有一个正在绘制到四边形的纹理。纹理是此截图左上角的重复图案:http://img828.imageshack.us/img828/3305/blahpv.png opengl纹理仅为3px乘9px,我传递的纹理坐标非常大,它使用GL_REPEAT在3x9纹理上循环。对截图中看到的奇怪干扰模式的任何解释?当四边形完全垂直于相机时,纹理看起来很好(重复完美)...截图是四边形旋转了几度。当四边形改变它到相机的距离或旋转改变时,异常情况似乎会改变,所以我认为它与纹理采样和浮点四舍五入有关,但我不知道如何解决它。OpenGL重复纹理导致旋转时出现异常
更新#1:
我不使用着色器,但是这是我当前如何做的Python为每个顶点:
(x0, y0, z0) = gluProject(vert[0].x, vert[0].y, 0.0)
x0 /= maskTextureWidth # 3.0
y0 /= maskTextureHeight # 9.0
glMultiTexCoord2f(GL_TEXTURE1_ARB, x0, y0)
glVertex2f(vert[0].x, vert[0].y)
不幸的是,使用GL_LINEAR或任何mipmapping意味着面具将会模糊。我真的需要面具的每个纹理元素与屏幕上的一个像素相匹配。像这样: http://img101.imageshack.us/img101/6499/30831346。png 左图显示了整个屏幕上的遮罩以及我试图绘制的四边形轮廓。正确的图像显示了绘制白色四边形(已与面具混合)后屏幕的外观。 – bparker 2010-09-09 18:38:11