1
當我繪製具有透明紋理的平面(例如房屋的窗戶)時,我會看到它們不應該是的線條或三角形。我怎樣才能解決這個問題?OpenGL中的透明物體中的三角形/線條
triangles http://i.troll.ws/c9821713.png
這裏是我用來繪製一個窗口的方法。我臨時啓用混合以使窗口透明。
static void drawWindow(int startX, int startY, int endX, int endY) {
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Textures.window.bind();
glPushMatrix();
glTranslatef(startX, startY, 0);
glBegin(GL_QUADS);
glTexCoord2d(1, 1);
glVertex3d(0, 0, 0);
glTexCoord2d(0, 1);
glVertex3d(endX - startX, endY - startY, 0);
glTexCoord2d(0, 0);
glVertex3d(endX - startX, endY - startY, 200);
glTexCoord2d(1, 0);
glVertex3d(0, 0, 200);
glEnd();
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
glPopMatrix();
}
你爲什麼使用即時模式?自從頂點數組可用之後,使用即時消息已經被阻止了將近20年。爲什麼所有的東西都是好的你是硬編碼你的幾何體?將幾何圖形放入您在運行時加載的文件中,並使用頂點數組進行渲染。 – datenwolf
你打開了多邊形平滑嗎? – JasonD
@JasonD感謝您的評論。是的,它已打開。當我禁用它時,線條確實消失了。我應該關掉它嗎? – Yatoom