以 skill 自身的术语
一个单一的 GLSL skill,整合了 36 种兼容 ShaderToy 的实时视觉效果着色器技术:SDF 几何、光线步进与光照、流体、粒子与物理模拟、自然现象(海洋、地形、大气、体积渲染)、程序化生成、后期处理、音频以及 WebGL2 调试。
一张路由表会将每个请求映射到 techniques/ 目录下对应的技术文件,其中包含核心原理、实现步骤和完整代码模板,更深入的数学推导则放在 reference/ 中。随后在生成独立 HTML 页面时,它会应用 WebGL2 适配规则——使用 gl_FragCoord.xy 而非 fragCoord,为 mainImage 加上 void main() 包装,用 const 替代函数调用式宏——并在固定的性能预算内完成,配有快速参考方案和可视化调试替换方案。
它产出什么
- 兼容 ShaderToy 的 GLSL,涉及 36 种效果技术之一,可作为实时视觉效果的基础。
- 一个独立的 HTML 页面,其 canvas 铺满整个视口,随窗口大小调整,背景为黑色且没有滚动条,并暴露兼容 ShaderToy 的 uniform 变量 iTime、iResolution、iMouse 和 iFrame。
- 基于 WebGL2 framebuffer 构建的多通道效果,使用 ping-pong 缓冲区实现类似 Buffer A/B 的状态管理。
- 一条完整的后期处理链,例如结合 ACES 色调映射、2x SSAA 和暗角效果,用于打造照片级真实感场景。
工作方式
- 01将请求路由到某项技术
Agent 会将用户的表述与技术路由表进行匹配,从而选出一项主要技术以及可组合使用的其他技术,而不是逐一阅读全部 36 个文件。
- 02读取技术文件
techniques/ 目录下的每个文件都是独立自足的,提供原理说明、有序的实现步骤以及该效果的完整代码模板。
- 03升级到 Reference/ 处理数学问题
当需要推导或高级模式时,Agent 会沿着技巧文件末尾的链接,进入对应的 reference/ 指南。
- 04将 ShaderToy 输出迁移到 WebGL2
对于独立的 HTML 交付物,会在编写页面之前,在 ShaderToy 风格代码之上应用 WebGL2 适配规则。
- 05将 Recipe 组装成 Pipeline
快速 Recipe 会把几何、渲染、光照、大气、后处理等模块串联成完整的 Pipeline,而不只是单一效果。
- 06通过替换输出来调试
输出会被临时替换为法线、步数、深度或 SDF 带,以在恢复真实颜色之前定位故障。