Agent Skills
返回列表
GPU 着色器工具箱

GPU 着色器工具箱

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-gpu-shader-toolkit。

技能介绍

适用问题

很多渲染问题不是语法错误,而是着色器在不同平台、驱动或封装格式下表现不一致。工程师需要快速判断 HLSL、GLSL、MSL、WGSL 等源码特征,比较函数与类型差异,并定位 STL、LDL、MUFU.SIN/COS 等指令带来的性能热点。更复杂的是,NVIDIA 驱动缓存、DirectX 字节码、游戏 .pak 包或 PPSSPP .ppdmp 帧转储里保存的并不是可直接阅读的源码,必须结合工具链还原与反汇编。

工作方式

技能把着色器工程拆成几条可复用路径:

  • 语言识别与转换:通过 SV_Position、gl_Position、@vertex、texture 等模式判断语言,并对照 vec2 / float2、mix / lerp 等 API 差异。
  • NVIDIA 缓存分析:围绕 nvcachetools、nvdisasm、envytools 提取已编译着色器,检查指令统计与常量内存占用,辅助解释 OpenGL 与 Vulkan 编译差异。
  • 游戏资产逆向:识别 PAK 表头、FILELINK_____END、SDRB 与 DXBC 边界,提取 RDEF、ISGN 等资源绑定信息;对 PSP/PPSSPP,则优先解析 .ppdmp 重建 GE 状态和生成的着色器。

边界与注意

资料偏重分析、优化与逆向,不覆盖完整游戏引擎集成或移动端图形驱动认证。浏览器加密缓存可能无法直接解析;PSP 原始资源通常没有传统着色器;游戏 PAK 格式因引擎而异,不能把 Warframe 示例当成通用模板。

使用场景

  • 排查 HLSL 与 GLSL 编译差异时,对照 `lerp`、`saturate`、纹理采样等函数差异。
  • 分析 NVIDIA OpenGL 着色器为什么比 Vulkan 慢时,提取驱动缓存并用 `nvdisasm` 查看 `STL` 指令。
  • 从游戏 `pak` 包中提取 DXBC 字节码时,定位 `SDRB` 与 `RDEF`、`ISGN` 资源绑定信息。
  • 调试 PPSSPP 渲染问题时,解析 `.ppdmp` 重建 GE 状态,查看运行时生成的着色器。

适合人员

  • 做 Unity 或 Unreal 渲染优化的图形程序员,需要快速核对 HLSL 与 GLSL 的 API 差异。
  • 排查 NVIDIA OpenGL 性能异常的引擎工程师,需要分析驱动缓存中的指令和常量内存。
  • 研究游戏图形资产的逆向工程师,需要从 pak 包提取 DXBC 并查看资源绑定。
  • 调试 PPSSPP 渲染异常的开源贡献者,需要解析 .ppdmp 帧转储和生成的着色器。