我正试图在着色器玩具上做一些事情:https://www.shadertoy.com/view/wsffDN(原始编号:https://www.shadertoy.com/view/3dtSD7)bufferA第18行
我想知道为什么将uv声明为uv
vec2 uv = (fragCoord.xy - iResolution.xy*.5) / iResolution.y;
,但此行
sceneColor = vec3((uv[0] + stagger) / initpack + 0.05*0., -0, 0.05);
uv [0]用作浮点数
这是如何工作的,紫外线的价值是什么?
使用数组语法访问任何vec
类型的组件(就此而言,或mat
类型的组件都是完全合法的)。您甚至可以使用非恒定数组索引(当然,取决于GLSL版本,但允许使用1.30+版本)。 uv[0]
的作用完全相同:访问向量的第一个元素。