0

当我的 3D 四边形离相机位置稍远时,我的 3D 四边形上会出现奇怪的白色边框,而当它们靠近时,边框会消失......

4

1 回答 1

1

确保您使用的是二次幂纹理,因为非二次幂纹理可能会导致纹理问题。

尝试替换此片段:

GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, 
        GL11.GL_NEAREST);

有了这个:

GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, 
        GL11.GL_LINEAR);

您也可以尝试替换这个:

GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT);

有了这个:

GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL12.GL_CLAMP_TO_EDGE);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL12.GL_CLAMP_TO_EDGE);

我认为问题可能出在纹理坐标中 - 你如何初始化它们以及在程序运行时更改它们?纹理坐标可能只有从 0 到 1 的值,并且在大多数情况下,这些值在程序运行时不会改变。

于 2013-05-05T18:53:54.153 回答