我正在写一个体素引擎,此刻 我正在研究 Chunk-Rendering-System,但我遇到了问题。 似乎纹理在四边形上重复了。
草 block 底部有这条绿线,我不知道为什么。
这是 OpenGL 渲染代码:
Texture texture = TextureManager.getTexture(block.getTextureNameForSide(Direction.UP));
texture.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2d(0, 0); GL11.glVertex3f(0, 1, 0);
GL11.glTexCoord2d(1, 0); GL11.glVertex3f(0, 1, 1);
GL11.glTexCoord2d(1, 1); GL11.glVertex3f(1, 1, 1);
GL11.glTexCoord2d(0, 1); GL11.glVertex3f(1, 1, 0);
GL11.glEnd();
这是 OpenGL 设置:
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glClearColor(0.1F, 0.4F, 0.6F, 0F);
GL11.glClearDepth(1F);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glDepthFunc(GL11.GL_LEQUAL);
GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
GL11.glCullFace(GL11.GL_BACK);
GL11.glEnable(GL11.GL_CULL_FACE);
最佳答案
确保 GL_TEXTURE_WRAP_S
和 GL_TEXTURE_WRAP_T
设置为 GL_CLAMP_TO_EDGE
。
关于java - 纹理在四边形 OpenGL 上重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995103/