glStencilFunc 函式(Gl) - Win32 apps | Microsoft Docs
文章推薦指數: 80 %
GlStencilFunc 函數會設定樣板測試的函數和參考值。
... void WINAPI glStencilFunc( GLenum func, GLint ref, GLuint mask ); ...
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
閱讀英文
儲存
目錄
閱讀英文
儲存
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
glStencilFunc函式
發行項
05/11/2022
3位參與者
此頁面有所助益嗎?
Yes
No
還有其他意見反應嗎?
系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。
隱私權原則。
送出
謝謝。
本文內容
glStencilFunc函式會設定樣板測試的函式和參考值。
語法
voidWINAPIglStencilFunc(
GLenumfunc,
GLintref,
GLuintmask
);
參數
func
測試函式。
下列八個權杖有效。
值
意義
GL_NEVER
一律會失敗。
GL_LESS
如果(refmask&)(樣板&掩碼)傳遞。
GL_GEQUAL
如果(refmask&)=(樣板&掩碼),則傳遞。
GL_EQUAL
如果(refmask&)=(樣板&掩碼),則傳遞。
GL_NOTEQUAL
如果(refmask&),則傳遞?(樣板&遮罩)。
GL_ALWAYS
一律會通過。
ref
樣板測試的參考值。
ref參數會固定在範圍[0,2n1],其中n是樣板緩衝區中的位平面數目。
面具
當測試完成時,會同時包含參考值和預存樣板值的遮罩。
傳回值
此函式不會傳回值。
錯誤碼
glGetError函式可以擷取下列錯誤碼。
名稱
意義
GL_INVALID_ENUM
func不是八個已接受值的其中一個。
GL_INVALID_OPERATION
在對glBegin的呼叫與glEnd的對應呼叫之間呼叫函式。
備註
Stenciling,例如z緩衝,可啟用和停用每個圖元的繪圖。
您可以使用OpenGL繪圖基本類型繪製樣板平面,然後使用樣板平面來遮罩螢幕的部分,然後轉譯幾何和影像。
多通轉譯演算法中通常會使用Stenciling來達成特殊效果,例如解碼、大綱和實心幾何轉譯。
樣板測試會根據參考值與樣板緩衝區中值之間的比較結果,有條件地排除圖元。
此測試是由glEnable和glDisable與引數GL_STENCIL_TEST啟用。
根據樣板測試結果所採取的動作會使用glStencilOp來指定。
func參數是決定樣板比較函式的符號常數。
它接受上述八個值的其中一個。
ref參數是樣板比較中使用的整數參考值。
它會固定在範圍[0,2n1],其中n是樣板緩衝區中的位平面數目。
mask參數是具有參考值和預存樣板值的位ANDED,且具有參與比較的ANDed值。
如果樣板代表儲存在對應樣板緩衝區位置中的值,上述清單會顯示func可指定之每個比較函式的效果。
只有在比較成功時,才會在點陣化程式中傳遞至下一個階段的圖元,(請參閱glStencilOp)。
所有測試都會將樣板值視為範圍[0,2n1]中的不帶正負號的整數,其中n是樣板緩衝區中的位平面數目。
一開始會停用樣板測試。
如果沒有樣板緩衝區,則不會進行樣板修改,就像樣板測試一律通過一樣。
下列函式會擷取與glStencilFunc相關的資訊:
glGetwithargumentGL_STENCIL_FUNC
glGet與引數GL_STENCIL_VALUE_MASK
glGetwithargumentGL_STENCIL_REF
glGet與引數GL_STENCIL_BITS
glIsEnabledwithargumentGL_STENCIL_TEST
規格需求
需求
值
最低支援的用戶端
Windows2000Professional[僅限傳統型應用程式]
最低支援的伺服器
Windows2000Server[僅限桌面應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll
另請參閱
glAlphaFunc
glBegin
glBlendFunc
glDepthFunc
glEnable
glEnd
glIsEnabled
glLogicOp
glStencilOp
本文內容
延伸文章資訊
- 1OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的 ...
glStencilFunc()函数是OpenGL提供的对模板缓冲区进行控制的命令,这是OpenGL2.0之前使用的函数,其函数原型为void glStencilFunc(GLenum func,...
- 2glStencilFunc - OpenGL 4 Reference Pages - Khronos Group
- 3Stencil testing - LearnOpenGL
The glStencilFunc (GLenum func, GLint ref, GLuint mask) has three parameters: func : sets the ste...
- 4C++ (Cpp) glStencilFunc Examples - HotExamples
C++ (Cpp) glStencilFunc - 30 examples found. These are the top rated real world C++ (Cpp) example...
- 5模板测试
但是 glStencilFunc 只描述了OpenGL对模板缓冲做什么,而不是描述我们如何更新缓冲。这就需要 glStencilOp 登场了。 void glStencilOp(GLenum s...