GLSL vec2在浮点中用作数组?

GLSL vec2在浮点中用作数组?,glsl,shader,fragment-shader,compute-shader,glsles,Glsl,Shader,Fragment Shader,Compute Shader,Glsles,我想在shader toy上做点什么: (原件编号:) 第18行 我想知道为什么uv被声明为uv vec2uv=(fragCoord.xy-iResolution.xy*.5)/iResolution.y ,但这条线 sceneColor=vec3((uv[0]+交错)/initpack+0.05*0.,-0,0.05) uv[0]用作浮点数 这是如何工作的,uv的值是什么?使用数组语法访问任何vec类型(或mat类型)的组件是完全合法的。您甚至可以使用非常量数组索引(当然,这取决于GLSL版本

我想在shader toy上做点什么:
(原件编号:) 第18行

我想知道为什么uv被声明为uv

vec2uv=(fragCoord.xy-iResolution.xy*.5)/iResolution.y

,但这条线

sceneColor=vec3((uv[0]+交错)/initpack+0.05*0.,-0,0.05)

uv[0]用作浮点数


这是如何工作的,uv的值是什么?

使用数组语法访问任何
vec
类型(或
mat
类型)的组件是完全合法的。您甚至可以使用非常量数组索引(当然,这取决于GLSL版本,但1.30+版本允许)
uv[0]
完全按照它的样子执行:访问向量的第一个元素