2
我知道可以通過寫入gl_FragDepth來控制寫入GLSL中深度緩衝區的內容,但可以寫入模板緩衝區嗎?影響深度,或來自片段着色器內部的模板緩衝區?
此外,我可以從片段着色器中完全取消像素寫入,就好像像素未能通過模板或深度測試一樣?
感謝
我知道可以通過寫入gl_FragDepth來控制寫入GLSL中深度緩衝區的內容,但可以寫入模板緩衝區嗎?影響深度,或來自片段着色器內部的模板緩衝區?
此外,我可以從片段着色器中完全取消像素寫入,就好像像素未能通過模板或深度測試一樣?
感謝
如果您使用的是正確的硬件,你可以寫信給模板緩存。所有的Radeon HD硬件都可以使用AMD_stencil_shader_export。有一個ARB_stencil_shader_export,但我無法驗證它是否特別廣泛。
如果你想停止一個片段寫任何東西,你可以使用discard
。這就像在概念上拋出異常(但不是行爲上)。
丟棄作品,謝謝。剛剛發現gl_FragDepth已從gles 2.0中移除,但= / – bitwise