隨着桌面計算機上的核心配置文件GL_ALPHA_TEST
不再可用,所以我想將它們從我的渲染引擎中移除。然而,在移動平臺上,我不確定這是否也會讓人感興趣,我閱讀了幾篇來自圖形編程人員的文章,其中指出禁用alpha測試可以提高性能。使用ES 3.0進行Alpha測試
據我所知alpha測試是一個FFP的東西。我問自己,現在問你的具體問題是:在移動平臺上,當忽略alpha測試和僅使用着色器時,是否會有性能差異?
隨着桌面計算機上的核心配置文件GL_ALPHA_TEST
不再可用,所以我想將它們從我的渲染引擎中移除。然而,在移動平臺上,我不確定這是否也會讓人感興趣,我閱讀了幾篇來自圖形編程人員的文章,其中指出禁用alpha測試可以提高性能。使用ES 3.0進行Alpha測試
據我所知alpha測試是一個FFP的東西。我問自己,現在問你的具體問題是:在移動平臺上,當忽略alpha測試和僅使用着色器時,是否會有性能差異?
Alpha測試在ES 2.0及更高版本中不可用。所以這不是ES 3.0的選項。
支持GL_ALPHA_TEST
的唯一OpenGL ES版本分別爲1.0和1.1,而這兩者現在大多數都被認爲已經過時。
通過檢查生成的alpha值,您可以輕鬆地複製在片段着色器中用於執行Alpha測試的內容,如果它不符合所需條件,則調用discard
。
所以基本上這只是因爲兼容性的原因還在裏面?只是想知道爲什麼然後每個「性能文件」都說你應該禁用alpha測試。但是沒問題。 – 2014-10-14 09:37:13
你是指在桌面OpenGL?是的,出於兼容性原因,「GL_ALPHA_TEST」仍處於兼容性配置文件中。它根本不在ES 3.0中。不在規格文檔中,不在頭文件中或任何地方。它在ES 1.x中,但2.0被定義爲一個全新的API,與1.x沒有任何兼容性。 – 2014-10-14 14:07:19
僅僅因爲有些人可能會問:我沒有真正的設備在移動設備上進行測試。但是我想保持它的兼容性。 – 2014-10-08 12:52:01