你有没有想过,调试 GPU 渲染问题的时候,不用自己一个个翻 Draw Call,而是直接对 AI 说一句:"帮我看看这一帧哪里不对"?

我做到了。

看效果

上面是真实的使用场景 —— 我在 Claude Code 里打开了一个 D3D11 的 CubeWorld 抓帧,AI 自动分析了整帧的渲染结构、Pipeline 状态、Draw Call 序列,最后给出了完整的技术报告。

整个过程我只打了一句话。

这个项目是什么

renderdoc-mcp —— 一个把 RenderDoc(图形程序员人手一个的 GPU 调试器)的全部能力通过 MCP 协议暴露给 AI 的工具。

59 个 MCP Tools。C++ 从零手写。覆盖了你能想到的所有 GPU 调试场景:

  • 打开 .rdc 抓帧,浏览每一个 Draw Call

  • 检查完整的 Pipeline 状态(Shader、RT、混合、光栅化...)

  • 反汇编任意 Shader 阶段的 HLSL/GLSL/SPIR-V

  • 像素级调试:Pixel History、像素拾取、Shader 单步

  • 实时注入应用程序抓帧,边跑边调

  • 两帧 Diff 对比(Draw Call / Pipeline / 像素 / Pass 结构 / 资源 / 统计,6 维度)

  • CI 断言框架:assert_pixel、assert_state、assert_image...

  • 渲染结果一键导出 PNG

一句话总结:RenderDoc 能做的,AI 现在也能做了。

为什么我觉得这件事值得做

图形编程的调试体验,说实话,一直很痛苦。

一帧画面背后可能有上千个 Draw Call、几十个 Render Pass、复杂的资源绑定关系。RenderDoc 的 GUI 给你展示了一切,但问题是 —— 信息量太大了。你得自己筛选、自己定位、自己关联。一个渲染 Bug 查下来,半天就没了。

而 AI 擅长的恰恰是处理大量结构化信息、快速筛选和关联。

MCP 协议给了我一个标准化的桥接方案,让我可以把 RenderDoc 的专业能力"翻译"成 AI 能理解和操作的接口。所以我把整个 Replay API 包了一层,写成了 59 个 Tool,让 Claude、Codex 这些 AI 助手可以像图形工程师一样操作 RenderDoc。

它不只是"能用",是真的好用

很多 MCP 项目只是把 API 简单包一下就完事了。renderdoc-mcp 不是。

我在架构上花了很多心思:

分层设计 —— 协议层(mcp-proto)和业务层(renderdoc-core)完全解耦。协议层不知道 RenderDoc 的存在,业务层不知道 MCP 的存在。两者通过桥接层连接。这意味着如果明天出了新的 AI 协议,我只需要换一个协议层。

双入口 —— 除了 MCP Server,还有一个 CLI(renderdoc-cli),直接链接 Core 层,不经过任何协议开销。Shell 脚本、CI 管道可以直接调用。

Diff 引擎 —— 这是我最得意的部分。同时加载两个 .rdc 文件,用 LCS 算法对齐 Draw Call 序列,从 6 个维度深度对比。版本回归检测、渲染正确性验证,一键搞定。

CI 断言框架 —— 5 个 assert 工具,让 GPU 渲染也能像普通代码一样跑自动化测试。push 一个 commit,CI 自动抓帧验证渲染结果。

几个真实场景

场景 1:排查渲染异常

"帮我打开这个 rdc,画面右上角有块黑色区域。"

AI 自动:打开 → 遍历 Draw Call → 定位可疑 Pass → 检查 Pipeline → 发现 Scissor Rect 配错 → 导出对比图 → 给修复建议。

场景 2:版本对比

"这两个版本的抓帧,帮我对比下变化。"

AI 自动:同时加载两帧 → 概览差异 → 发现新增 3 个 Draw → 检查新 Draw 状态 → 像素级确认差异 → 总结回归点。

场景 3:CI 自动验证

每次构建后自动抓帧 → 验证关键像素 → 检查 Draw Call 数量 → 检测资源浪费 → 输出报告。

技术细节(给感兴趣的同学)

  • C++17,CMake 构建

  • JSON-RPC 2.0 over stdio,遵循 MCP 2025-03-26 规范

  • nlohmann/json 做序列化,stb_image 做图像编码

  • 声明式工具注册,自动参数校验和错误码映射

  • Session 隔离架构:主分析 Session 和 Diff Session 独立共存

  • 支持 D3D11、D3D12、OpenGL、Vulkan 全部图形 API

  • MIT 开源协议

最后

这个项目花了我不少精力,从架构设计到 59 个 Tool 的实现,再到 Diff 引擎和 CI 断言框架,每一块都是从零写的。

如果你是图形程序员,建议试一下 —— 体验过 AI 帮你调 GPU 之后,就回不去了。

如果你对 MCP 生态感兴趣,这个项目也是一个不错的参考 —— 怎么用 C++ 从零构建一个生产级的 MCP Server。

Star 一下,就是最好的支持。

GitHub: https://github.com/JiaboLi-GitHub/renderdoc-mcp


开源不易,感谢每一个 Star。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐