Version: 2020.3

SystemInfo.hasDynamicUniformArrayIndexingInFragmentShaders

切换到手册
public static bool hasDynamicUniformArrayIndexingInFragmentShaders ;

描述

如果 GPU 原生支持对片元着色器中的 uniform 数组编制索引,并且无任何限制,则返回 true。

一些 OpenGL ES 2 GPU 不支持使用任意变量对片元着色器中的 uniform 数组编制索引。OpenGL ES 2 GLSL 规范只要求通过常量、for-loop 计数器以及在片元着色器中组合使用这两者编制索引。不保证支持使用其他变量编制索引。 生成的着色器代码通过为着色器中使用的每个索引数组提供封装器来处理这些差异。封装器提供两个代码路径,一个直接对数组编制索引,另一个使用分支模拟索引。在设备上运行时,着色器编译器根据设备功能选择正确的代码路径。 如果运行的设备不能原生支持使用任意变量在片元着色器中对 uniform 数组编制索引,此标志提供了选择简单着色器的可能性。