1

大家好,我是 OpenGL ES 2.0 的新手。我对 gl_position 和可变变量感到困惑,两者都将是顶点着色器的输出。可变变量将被传递给片段着色器,gl_position 呢?gl_position 是否影响片段着色器中的变量。gl_position=vec4(-1); 这是什么意思。请帮助我以更好的方式理解这些事情。

4

1 回答 1

2

gl_Position 是特殊变量。它用于计算片段着色器将计算/着色的片段(它计算其位置)。所有其他变化都直接插入到基元中。

gl_Position 在片段着色器中不可用。但是有可用的 gl_FragCoord 变量,它是从 gl_Position 计算出来的,所以它的 x/y 值从 0 变为 1(从屏幕一侧到另一侧),z 是从 0(近平面)到 1(远平面)的深度。w 类似于 1/gl_Position.w (请随意查看它在 OpenGL|ES2 规范中的确切含义)。

于 2012-05-16T07:51:03.423 回答