SuperAPI AI 工具集

webgl

设计与创作

查看项目

更新于 10-16 00:06

技能介绍

用途:为 JARVIS AI 助手 HUD 提供 WebGL 专业知识,用于创建自定义着色器和视觉特效,涵盖全息效果着色器、后处理(bloom、glitch)、基于计算着色器的粒子系统以及实时数据可视化。风险等级为 MEDIUM:直接访问 GPU,可能造成资源耗尽或触发驱动漏洞。

主要能力:安全的着色器编译与程序链接(编译/链接失败时输出日志并删除对象);WebGL 上下文丢失与恢复处理;GPU 资源管理(纹理、缓冲、程序集合,纹理内存上限 256MB);类型安全的 uniform 设置与校验;性能优化模式,包括缓冲复用(bufferSubData)、按材质批量绘制、纹理压缩、实例化渲染、VAO 使用。

建议用法:先写失败测试,再最小实现、重构、验证(TDD)。使用 getWebGLContext 获取 WebGL2 上下文并设置 powerPreference: 'high-performance',用 compileShader/createProgram 编译链接,用 WebGLResourceManager 统一分配与释放资源,监听 webglcontextlost 与 webglcontextrestored。提交前运行 npm test、npm run typecheck、npm run build,并验证性能预算与无 WebGL 回退。性能预算示例:最大绘制调用 100、最大三角形 1,000,000、最大纹理数 32、最大纹理尺寸 4096。

适用场景:JARVIS HUD 全息着色器、后处理特效、粒子系统、实时数据可视化。浏览器支持:Chrome 56+、Firefox 51+、Safari 15+、Edge 79+。

限制:安全风险涉及组件漏洞(需持续更新浏览器与系统,如 CVE-2024-11691、CVE-2023-1531)与 GPU 资源保护,必须实现超时机制、资源限制和无 WebGL 回退;避免无限制分配资源、跳过上下文丢失处理以及过多的状态切换。该技能使用拆分结构,高级模式与安全示例见 references/advanced-patterns.md 与 references/security-examples.md。具体安装命令与收费信息暂未提供。