OpenGL關(guān)于glStencilFuncSeparate()和glStencilFunc()函數(shù)的區(qū)別講解
glStencilFunc()函數(shù)是OpenGL提供的對(duì)模板緩沖區(qū)進(jìn)行控制的命令,這是OpenGL2.0之前使用的函數(shù),其函數(shù)原型為
void glStencilFunc(GLenum func, GLint ref, GLuint mask).
func指定比較函數(shù),它指定了測試通過的條件,其取值可以是:(為方便表示,參考值為refValue, 緩沖區(qū)值bufferValue)
- GL_NEVER 總是不通過測試
- GL_ALWAYS 總是通過測試
- GL_LESS refValue < (bufferValue & mask)
- GL_LEQUAL refValue < (bufferValue & mask)
- GL_GREATER refValue > (bufferValue & mask)
- GL_EQUAL refValue = (bufferValue & mask)
- GL_NOTEQUAL refValue /= (bufferValue & mask)
在這里“通過”的意思指的是,我們?cè)趯D元繪制到幀緩沖區(qū)的時(shí)候在片段進(jìn)行測試的時(shí)候是可以完全透過去的,否則的話這個(gè)片段就無法繪制到對(duì)應(yīng)的顏色幀緩沖區(qū),那么我們所繪制的內(nèi)容也就顯示不出來。通過這種控制方法來控制顯示,其實(shí)這種操作在我們實(shí)際的生活中也是很常見的,例如給汽車噴漆,蓋章(只會(huì)顯示刻了的內(nèi)容)。
ref指定參考值的大小。
mask指定掩碼,只在掩碼為1的位上進(jìn)行比較,控制參考值的哪些位和緩沖區(qū)進(jìn)行比較。
glStencilFuncSeparate()函數(shù)OpenGL2.0以后新增的函數(shù),其函數(shù)原型為
void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask).
和 glStencilFunc()函數(shù)的不同是可以指定幾何圖形進(jìn)行進(jìn)行模板測試,位于多邊形的哪個(gè)面。其枚舉值可以是
GL_FRONT, GL_BACK, GL_FRONT_AND_BACK.
其它的參數(shù)兩個(gè)函數(shù)表示的含義相同。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- OpenGL中的glutInitDisplayMode()函數(shù)的理解
- OpenGL Shader實(shí)例分析(7)雪花飄落效果
- OpenGL Shader實(shí)例分析(1)Wave效果
- SDL2和OpenGL使用踩坑筆記經(jīng)驗(yàn)分享
- Android利用OpenGLES繪制天空盒實(shí)例教程
- android使用OPENGL ES繪制圓柱體
- opengl實(shí)現(xiàn)任意兩點(diǎn)間畫圓柱體
- OpenGL ES透視投影實(shí)現(xiàn)方法(四)
- OpenGL ES著色器使用詳解(二)
- OpenGL實(shí)現(xiàn)Bezier曲線的方法示例
相關(guān)文章
30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)
本文為大家總結(jié)了30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn),,需要的朋友可以參考下2018-04-04
Android權(quán)限操作之uses-permission詳解
這篇文章主要介紹了Android權(quán)限操作之uses-permission,較為詳細(xì)的分析了uses-permission常見權(quán)限操作類型與功能,需要的朋友可以參考下2016-10-10
Android Webview的postUrl與loadUrl加載頁面實(shí)例
這篇文章主要介紹了Android Webview的postUrl與loadUrl加載頁面實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android?AIDL通信DeadObjectException解決方法示例
這篇文章主要為大家介紹了Android?AIDL通信DeadObjectException解決的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Android編程使用sax解析xml數(shù)據(jù)的方法詳解
這篇文章主要介紹了Android編程使用sax解析xml數(shù)據(jù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android使用sax解析xml數(shù)據(jù)的操作步驟及界面布局、單元測試等相關(guān)操作技巧,需要的朋友可以參考下2017-07-07
用MOB實(shí)例開發(fā)實(shí)現(xiàn)短信驗(yàn)證功能
本篇文章通學(xué)習(xí)通過MOB平臺(tái)開發(fā)APP實(shí)現(xiàn)簡單的短信驗(yàn)證功能,對(duì)此有需求的朋友跟著好好學(xué)習(xí)下吧。2018-01-01
Android編程操作嵌入式關(guān)系型SQLite數(shù)據(jù)庫實(shí)例詳解
這篇文章主要介紹了Android編程操作嵌入式關(guān)系型SQLite數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android操作SQLite數(shù)據(jù)庫的基本技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-01-01

