【发布时间】:2018-06-15 19:54:02
【问题描述】:
我有关于 GLSL 自动优化(?)过程的三个问题。
未使用的变量 -> 是否 glsl 会删除所有不影响最终片段着色器像素的变量(输出变量)。
未使用的函数 -> glsl 是否会在 void main... 之前删除所有未定义的函数?
那么 ins 和 outs 变量呢。一个例子:我有 100 个着色器,它们将纹理坐标从顶点着色器发送到片段着色器。在片段着色器中,这些坐标对最终颜色没有影响。 glsl 会删除这个变量吗?
【问题讨论】:
-
着色器编译器是特定于实现的,规范倾向于留下这样模糊的细节,以允许实现追求任何最有效的策略。我认为答案是: 1. 几乎肯定 2. 几乎肯定。 3. 可能。
标签: opengl glsl shader fragment-shader vertex-shader