diff --git a/README.md b/README.md index 7b9fc44e..5304aa63 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,9 @@ XCEngine/ │ ├── scripts/ # 构建和测试脚本 │ +├── engine/tools/ # 工具脚本 +│ └── renderdoc_parser/ # RenderDoc 捕获分析工具(Python 3.6) +│ └── build/ # 构建目录 ``` @@ -428,6 +431,34 @@ D3D12 + RenderDoc 集成示例,展示如何使用 RenderDoc API 进行 GPU 帧 > 注意:renderdoc.dll 需单独放置于 `engine/third_party/renderdoc/renderdoc.dll` +### renderdoc_parser + +Python 直接调用式 RenderDoc 捕获分析工具,无需 MCP 协议。 + +```python +import sys +sys.path.insert(0, "engine/tools") +from renderdoc_parser import open_capture, get_capture_info, get_frame_overview + +open_capture("frame.rdc") +print(get_capture_info()) +``` + +提供 42 个函数,涵盖: +- **会话管理**: `open_capture`, `close_capture`, `get_capture_info`, `get_frame_overview` +- **事件导航**: `list_actions`, `get_action`, `set_event`, `search_actions`, `find_draws` +- **管线状态**: `get_pipeline_state`, `get_shader_bindings`, `get_vertex_inputs`, `get_draw_call_state` +- **资源**: `list_textures`, `list_buffers`, `list_resources`, `get_resource_usage` +- **数据读取**: `save_texture`, `get_buffer_data`, `pick_pixel`, `export_mesh` 等 +- **Shader 分析**: `disassemble_shader`, `get_shader_reflection`, `get_cbuffer_contents` +- **高级**: `pixel_history`, `get_post_vs_data`, `diff_draw_calls`, `analyze_render_passes` +- **性能**: `get_pass_timing`, `analyze_overdraw`, `analyze_bandwidth`, `analyze_state_changes` +- **诊断**: `diagnose_negative_values`, `diagnose_precision_issues`, `diagnose_mobile_risks` 等 + +详见 `engine/tools/renderdoc_parser/README.md`。 + +> 注意:需使用 Python 3.6 运行(`renderdoc.pyd` 为 Python 3.6 编译) + ### VolumeRenderer XCEngine 的体积渲染模块,基于 NanoVDB 实现云、烟雾等体积数据的实时渲染: