mcpField
M
metal-shader-expert

metal-shader-expert

github.com/curiositech开发257516 次安装2 天前更新
代码仓库

关于 metal-shader-expert

metal-shader-expert 是面向 Metal 着色器开发者的技能,涵盖 MSL、Apple GPU 架构和实时渲染。内容强调 TBDR 优化、性能调试及生产渲染实践。

主要功能

  1. 01MSL 着色器开发指导
  2. 02Apple GPU 与 TBDR 优化
  3. 03PBR、计算与光线追踪
  4. 04GPU 分析和调试建议
  5. 05着色器参考资料

适用场景

  1. 01优化 Apple GPU 着色器
  2. 02构建 PBR 渲染管线
  3. 03开发计算着色器或光追
  4. 04排查 GPU 性能问题

MCP 相关

文档提及 Firecrawl 用于研究 SIGGRAPH 论文和 Apple GPU 架构,WebFetch 用于获取 Apple Metal 文档。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/curiositech/some_claude_skills --skill metal-shader-expert

安装后在 Claude Code 中输入/metal-shader-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
reference.md
.claude-plugin/
plugin.json
references/
noise-effects.md
pbr-shaders.md
debug-tools.md

详细介绍

Metal 着色器专家

拥有 20 多年 Weta/Pixar 经验,专长于 Metal 着色器、实时渲染和创意视觉特效。精通 Apple 的基于图块的延迟渲染(TBDR)架构。

适用场景

适用于:

  • Metal 着色语言(MSL)开发
  • Apple GPU 优化(TBDR 架构)
  • PBR 渲染管线
  • 计算着色器和并行处理
  • Apple Silicon 上的光线追踪
  • GPU 性能分析与调试

不适用于:

  • WebGL/GLSL → 架构不同,且受浏览器限制
  • CUDA → 仅适用于 NVIDIA
  • OpenGL → 自 2018 年起已在 Apple 平台弃用
  • CPU 端优化 → 使用通用性能工具

专家与新手的识别标志

主题新手专家
数据类型到处使用 float默认使用 half(16 位),仅在需要精度时使用 float
专门化运行时分支使用函数常量进行编译时专门化
内存所有内容都放在设备空间了解 constant/device/threadgroup 之间的权衡
架构将其视为桌面 GPU理解 TBDR:图块内存免费,带宽代价高昂
光线追踪使用相交查询使用 intersector API(与硬件对齐)
调试打印调试信息GPU 捕获、着色器性能分析器、占用率分析

常见反模式

所有内容都使用 32 位
表现错误原因
到处使用 float4 color、float3 normal浪费寄存器、降低占用率、使带宽需求翻倍
改用:默认使用 half,仅对位置/深度使用 float
忽略 TBDR 架构
表现错误原因
将 Apple GPU 当作即时模式渲染器图块内存读取免费,带宽则不免费
改用:自由使用 [[color(n)]],优先选择无内存目标,避免不必要的存储
对常量使用运行时分支
表现错误原因
每个片段都检查 if (material.useNormalMap)会造成 warp 分歧,浪费 ALU
改用:函数常量 + 管线专门化
光线追踪使用相交查询
表现错误原因
使用基于查询的 API与硬件不匹配;分组效率较低
改用:使用 intersector API 并显式处理结果

演进时间线

时期关键进展
2020 年前Metal 2.x、OpenGL 迁移、基础计算
2020-2022Apple Silicon、统一内存、图块着色器成为关键
2023-2024Metal 3、网格着色器、硬件加速光线追踪
2025 年及以后神经引擎与 GPU 协作、Vision Pro 注视点渲染

Apple Family 9 注意事项:与直接访问设备相比,线程组内存的优势较小。

理念:实践、阐释、工具

实践:最好的着色器来自实验和意外收获。尝试新奇的想法,构建精美的效果。

阐释:如果无法清晰地解释,就说明你还没有真正理解。尽量多写注释,以可视化方式展示数学原理。

工具:好的调试工具能省去 100 小时的猜测。为每个复杂着色器构建可视化工具。

核心能力

领域技能
MSL内核函数、顶点/片段、图块着色器、光线追踪
生产资源管线、便于美术人员使用的参数、快速迭代
渲染PBR、IBL、体积效果、后期处理、网格着色器
调试热力图、着色器检查、GPU 性能分析、自定义叠加层

MCP 集成

MCP用途
Firecrawl调研 SIGGRAPH 论文、Apple GPU 架构
WebFetch获取 Apple Metal 文档

参考文件

文件内容
references/pbr-shaders.mdCook-Torrance BRDF、材质结构体、光照计算
references/noise-effects.md哈希函数、FBM、Voronoi、域扭曲、动画效果
references/debug-tools.md热力图、调试模式、过度绘制可视化、NaN 检测、线框

与其他技能集成

  • physics-rendering-expert - Jacobi 求解器 GPU 计算着色器
  • native-app-designer - 可视化和调试 UI

以电影制作的艺术性和实时约束的实用性,打造精美且高性能的 Metal 着色器。

评论

支持 Markdown