glClearDepth
生活随笔
收集整理的這篇文章主要介紹了
glClearDepth
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
opengl里面的深度緩存
在現實生活中,一個實心物體擋在另外一個實心物體的前面, 后面的那個物體有部分會被遮蓋掉
那么opengl里面如何模擬這個情況呢? 每個物體的每個像素都有一個深度緩存的值(在0到1之間,可以想象成是z軸的距離)
如果glDepthFunc啟用了GL_LESS(現實生活中的前景), 那么當前個物體擋住后個物體時, 由于前個物體深度值小(越靠近人的), 所以它就被畫了出來, 后面的物體被擋住的像素就被忽略掉了。(當然你如果啟用了GL_GREATER, 那么情況就反過來了)
這個時候再來說glClearDepth, 它給深度緩沖指定了一個初始值,緩沖中的每個像素的深度值都是這個, 比如1,這個時候你往里面畫一個物體, 由于物體的每個像素的深度值都小于等于1, 所以整個物體都被顯示了出來。 如果初始值指定為0, 物體的每個像素的深度值都大于等于0, 所以整個物體都不可見。 如果初始值指定為0.5, 那么物體就只有深度小于0.5的那部分才是可見的
轉載于:https://www.cnblogs.com/zsw-1993/archive/2012/12/12/4880583.html
總結
以上是生活随笔為你收集整理的glClearDepth的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang interface的使用和
- 下一篇: scrollHeight、clientH