GLSL vec2用作float中的数组吗?

问题描述 投票:1回答:1

我正试图在着色器玩具上做一些事情: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]用作浮点数

这是如何工作的,紫外线的价值是什么?

glsl shader fragment-shader compute-shader glsles
1个回答
1
投票

使用数组语法访问任何vec类型的组件(就此而言,或mat类型的组件都是完全合法的)。您甚至可以使用非恒定数组索引(当然,取决于GLSL版本,但允许使用1.30+版本)。 uv[0]的作用完全相同:访问向量的第一个元素。

© www.soinside.com 2019 - 2024. All rights reserved.