2015-07-19 86 views
-2

我在互聯網上嘗試了很多方法,但仍然無法正常工作。 現在我想如果麻煩與我的操作系統(Ubuntu的)有關。上述linux openGL depth_test不能正常工作

void init(void){ 
glClearColor(1.0, 1.0, 1.0, 0.0); 
glShadeModel(GL_SMOOTH); 
glEnable(GL_DEPTH_TEST); 
glClearDepth(1.0); 
glDepthFunc(GL_LESS); 
glFrontFace(GL_CCW); 
glCullFace(GL_BACK); 
glEnable(GL_CULL_FACE); 
init2(); 
} 

void reshape(int w, int h){ 
int t = min (w,h); 
glViewport (0, 0, t, t); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrtho(-100.0, 100.0, -100.0, 100.0, 1.1, 200.0); 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 
gluLookAt(40.0, 40.0, 100.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); 
} 

兩個功能是從我的代碼..

+1

當你創建gl_window_時,你實際上是否需要一個深度緩衝區? – derhass

回答

0

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)必須在每個幀的開始被調用以清除顏色緩存和深度緩衝。

除此之外,你應該發佈更多的細節。你在看什麼?你如何請求OpenGL上下文?你可以發佈整個繪製循環嗎?