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