我不知道爲什麼發生這種情況,我只是呈現一些簡單原始的四邊形。 紅色的意思是在黃色的前面。
黃色總是在紅色的前面,即使它在它後面。
這是一個錯誤還是僅僅是我錯誤地看到魔方?
我不知道爲什麼發生這種情況,我只是呈現一些簡單原始的四邊形。 紅色的意思是在黃色的前面。
黃色總是在紅色的前面,即使它在它後面。
這是一個錯誤還是僅僅是我錯誤地看到魔方?
打開深度緩衝區和深度測試,或OpenGL將繪製頂部的後者。
你的應用程序需要至少做到以下獲得深度緩衝的工作:
詢問,當你創建你的窗口深度緩衝。
在上下文創建並通電後,在程序的初始化例程中調用glEnable(GL_DEPTH_TEST)。
確保您的zNear和zFar剪切平面設置正確,並且提供足夠的深度緩衝精度。
通行證GL_DEPTH_BUFFER_BIT作爲參數來glClear,典型地按位或運算與諸如GL_COLOR_BUFFER_BIT其他值。
看到這裏http://www.opengl.org/resources/faq/technical/depthbuffer.htm
我有同樣的問題,但它是無關的深度緩存,雖然我沒有看到好轉的一些變化,當我啓用了。它與渲染最後一步中使用的混合函數有關,這些函數結合了像素強度。所以我不得不關閉glBlendFunc()
正如Chen所說 - 默認情況下最後呈現的是先前呈現的頂部。 – Kromster