ShaderToy 的 FragCoord.xy 价值等等

ShaderToy's FragCoord.xy value and more

作为一项计算机图形任务,我们被分配将一些 ShaderToy 滤镜翻译成我们老师的个人语言,但我找不到任何文档或教程可以帮助我处理我不断遇到的许多新东西,我通过一些研究,我自己设法找到了一个好的观点,但现在我被困住了!

我的问题是:

FragCoord.xy 什么确切值 returns? (如果我猜对的话 vec2 FragCoord = {i, j})。

如果我将 FragCoord.xy 除以 720,会返回什么 vec2 值?

谢谢

.xy 被称为 Swizzling:

You can use x, y, z, or w, referring to the first, second, third, and fourth components, respectively.

这意味着 FragCoord.xy 获取 FragCoordxy 分量,并创建类型为 vec2 的向量。甚至可以多次使用组件(例如 FragCoord.xxFragCoord.yy)或更改其顺序(例如 FragCoord.yx)。


GLSL 二进制 Operators 工作 component-wise。因此 FragCoord.xy / 720 可以替换为 vec2(FragCoord.x / 720, FragCoord.y / 720).