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ù),它指定了測(cè)試通過的條件,其取值可以是:(為方便表示,參考值為refValue, 緩沖區(qū)值bufferValue)
- GL_NEVER 總是不通過測(cè)試
- GL_ALWAYS 總是通過測(cè)試
- 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)行測(cè)試的時(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)行模板測(cè)試,位于多邊形的哪個(gè)面。其枚舉值可以是
GL_FRONT, GL_BACK, GL_FRONT_AND_BACK.
其它的參數(shù)兩個(gè)函數(shù)表示的含義相同。
總結(jié)
以上就是這篇文章的全部?jī)?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)文章
Android自定義View實(shí)現(xiàn)隨手勢(shì)滑動(dòng)控件
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)隨手勢(shì)滑動(dòng)的控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02MVVMLight項(xiàng)目Model?View結(jié)構(gòu)及全局視圖模型注入器
這篇文章主要為大家介紹了MVVMLight項(xiàng)目中Model及View的結(jié)構(gòu)及全局視圖模型注入器的使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01Android?APP瘦身shrinkResources使用問題詳解
這篇文章主要為大家介紹了Android?APP瘦身shrinkResources使用問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android8.0適配前臺(tái)定位服務(wù)service的示例代碼
這篇文章主要介紹了Android8.0適配前臺(tái)定位服務(wù)service的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07Android手勢(shì)密碼--設(shè)置和校驗(yàn)功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android手勢(shì)密碼--設(shè)置和校驗(yàn)功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考校驗(yàn)價(jià)值,需要的朋友可以參考下2018-05-05Android自定義引導(dǎo)玩轉(zhuǎn)ViewPager的方法詳解
這篇文章主要給大家介紹了關(guān)于Android自定義引導(dǎo)玩轉(zhuǎn)ViewPager的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06詳解如何使用Android Studio開發(fā)Gradle插件
這篇文章主要介紹了詳解如何使用Android Studio開發(fā)Gradle插件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Android利用DownloadManager實(shí)現(xiàn)文件下載
這篇文章主要為大家詳細(xì)介紹了Android利用DownloadManager實(shí)現(xiàn)文件下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Android使用http請(qǐng)求手機(jī)號(hào)碼歸屬地查詢代碼分享
這篇文章主要介紹了Android使用http請(qǐng)求手機(jī)號(hào)碼歸屬地查詢代碼分享的相關(guān)資料,需要的朋友可以參考下2016-06-06