SuperAPI AI 工具集

shadertoy

设计与创作

查看项目

更新于 10-16 08:06

技能介绍

该技能用于编写、调试和优化 Shadertoy 及 GLSL 片元着色器,覆盖浏览器 WebGL 中运行的实时程序化图形。适用场景包括写或改 .glsl 文件、制作程序化图形与生成艺术、开发 Shadertoy.com 项目或 WebGL 片元着色器、实现光线步进与距离场及程序化纹理、调试着色器代码或优化性能、查阅 GLSL ES 语法和 Shadertoy 输入变量。

着色器入口为 mainImage(out vec4 fragColor, in vec2 fragCoord),可用内置输入包括 iResolution、iTime、iTimeDelta、iFrame、iMouse、iChannel0-iChannel3、iChannelResolution[4]、iDate。常用能力涵盖坐标系归一化、余弦调色板、哈希函数、光线步进、2D/3D 旋转、域重复与折叠、暗角、胶片颗粒、伽马校正以及多缓冲渲染(Buffer A/B 与最终输出)。

使用时应遵循 GLSL ES 规则:不使用 f 后缀,以 clamp 代替 saturate,对 pow/sqrt 做保护,避免除零,初始化变量,避免命名冲突。调试可先可视化中间值、逐步简化、检查 NaN/Inf。优化可用固定迭代次数、提前退出、调整步长乘数、减少纹理读取、以 mix/step/smoothstep 替代条件分支,移动端可降低精度。命名常用小写加连字符,如 my-shader-name.glsl。分叉或改编他人着色器时应注明原作者、链接、日期与许可。

参考资料包括 references/glsl-reference.md、references/common-patterns.md 与 references/example-compact-shader.glsl,可通过读取或检索获取完整语法、复杂数学、噪声、距离场、后处理与混合模式等示例。局限在于资料未提供安装命令、收费信息、具体平台支持细节或官方许可条款,相关内容暂未提供。