OpenGL模板测试通俗理解
生活随笔
收集整理的這篇文章主要介紹了
OpenGL模板测试通俗理解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
看書籍或資料往往還是云里霧里的,這里寫一下自己的理解。希望對需要的人有幫助。
簡而言之:
在glClearBuffer的時候清空,所以初始狀態(tài)是全為0。
每一次你調(diào)用繪制函數(shù)的時候都會進(jìn)行模板測試。一次繪制后,像素著色器會輸出像素,這個像素是否寫入到顏色緩沖區(qū),取決于模板測試。
新像素的模板值:本次繪制產(chǎn)生的圖像 ,根據(jù)每個像素是否有內(nèi)容或是否被更新,都有一個模板值與之對應(yīng)。凡是有像素點的地方,像素點的模板值為1;沒有像素點的地方,模板值為0。
新像素的模板值和模板緩沖區(qū)對應(yīng)位置的舊值進(jìn)行一次運算,就叫模板測試,具體的運算規(guī)則可以通過glStencilFunc來配置。在配置的運算規(guī)則下,若通過,則像素會被寫到顏色緩沖區(qū)中,即將被刷新到屏幕中;若不通過,則此像素會被直接丟棄,不會更新到屏幕中。
模板緩沖區(qū)更新需要打開開關(guān)glEnable(GL_DEPTH_TEST)。
模板測試完成后,進(jìn)行模板緩沖區(qū)更新。
更新操作具體怎樣進(jìn)行,和模板測試的結(jié)果有關(guān),可以通過函數(shù)glStencilOp來配置,成功時寫入什么,失敗時寫入什么。
最后說一句:
模板緩沖區(qū)就是一個過濾網(wǎng),就是用來過濾像素的。
總結(jié)
以上是生活随笔為你收集整理的OpenGL模板测试通俗理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高铁恢复350公里满血速度 变化多大?一
- 下一篇: java环境_配置java环境变量