SuperAPI AI 工具集

defold-shaders-editing

智能体与模型

查看项目

更新于 10-15 22:37

技能介绍

用途:创建和编辑 Defold 渲染管线中的 GLSL 着色器文件,包括顶点程序 .vp、片段程序 .fp 和可复用的 GLSL 片段 .glsl。不处理 .material 文件,材质编辑需使用 defold-proto-file-editing 技能。

主要能力:指导使用现代管线,文件顶部写 #version 140(OpenGL 3.1),否则回退到已弃用的旧管线;说明 Defold 从单一 GLSL 源交叉编译到 OpenGL、OpenGL ES、WebGL、SPIR-V、Metal 等目标,并提示 ES 2.0 / WebGL 1.0 上导数函数、动态循环、整数运算、sampler2DArray、存储缓冲与计算着色器的限制,建议用 #extension 与预处理守卫做条件编译。

语法要点:顶点着色器用 in 代替 attribute、out 代替 varying;片段着色器用 in 接收、用声明的 out vec4 输出而非 gl_FragColor;非不透明 uniform 放入 uniform 块(顶点用 vs_uniforms、片段用 fs_uniforms),采样器保持独立;采样用 texture() 而非 texture2D()。

用法:.glsl 片段通过 #include 引入,路径可为项目相对(以 / 开头)或文件相对,仅 .glsl 可被包含,需加头文件守卫防止重复包含。着色器中的 uniform 名与采样器名必须与材质文件中的常量名、采样器名完全一致;材质常量类型(如 CONSTANT_TYPE_VIEWPROJ、CONSTANT_TYPE_WORLD、CONSTANT_TYPE_USER 等)对应 mat4 或 vec4。

适用场景:为精灵、模型、GUI、粒子、瓦片地图、字体等组件编写或修改着色器;处理实例化渲染(mtx_world、mtx_normal 作为 in 属性,需 VERTEX_SPACE_LOCAL);处理法线空间问题(内置 mtx_normal 为视图空间,世界空间法线需在着色器内用伴随矩阵技巧计算);用 #ifdef EDITOR 为编辑器视口提供简化渲染。

限制:不覆盖材质文件编辑;跨平台可用特性受目标图形 API 限制;具体收费、价格与平台支持细节资料未提供。