使用glScale时出现纹理错误

时间:2018-03-08 22:21:47

标签: java opengl lwjgl

我在LWJGL中使用立即模式绘制四边形(是的,我知道它已被弃用,VBO是更好的替代方案)但是当使用glScaled来放大某些纹理时,会从底部或两侧切掉一条线画在他们上面。它仅在放大时可见,并且在更远的地方变得更加普遍。我使用的所有图像都是2的幂,即64 128等

希望从这张图片中你可以更清楚地看到我的意思:

纹理错误图像
Texture Error Image

1 个答案:

答案 0 :(得分:0)

您的屏幕截图看起来像纹理坐标已被包裹。

尝试拨打glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );并为GL_TEXTURE_WRAP_T调用相同内容。或者,根据OpenGL版本,您可能需要GL_CLAMP_TO_EDGE值,而不是GL_TEXTURE_WRAP_SGL_TEXTURE_WRAP_T纹理参数。设置纹理参数的正确时刻是在glActiveTexture&之后。 glBindTexture但在glBegin之前。

您可能没有更改这两个参数,它们的默认值是GL_REPEAT,这就是造成工件的原因。