我使用OpenGL
在屏幕上繪製一些內容。OpenGL深度無法正常工作
這裏的初始化:
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, height, 0, 10, -10);
glMatrixMode(GL_MODELVIEW);
然後我畫使用這個對象:
void draw(...)
{
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBegin(GL_QUADS); //Begining the cube's drawing
{
glTexCoord3f(tu1, tv1, 1); glVertex3f(offset, _y, _z);
glTexCoord3f(tu2, tv1, 1); glVertex3f(offset + w, _y, _z);
glTexCoord3f(tu2, tv2, 1); glVertex3f(offset + w, _y + h, _z);
glTexCoord3f(tu1, tv2, 1); glVertex3f(offset, _y + h, _z);
}
glEnd();
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
}
但深度不尊重(有很多_z
值的測試)。它隨呼叫順序而變化,最近的將是最後一次繪製。
如果我畫的粉紅色條第一:
如果我畫的精華帶後的粉紅色吧:
您可以添加您的問題的屏幕截圖,因爲我似乎完全不瞭解您的問題。 – Vallentin
@Vallentin完成:) –