docs: add renderdoc_parser to project README

This commit is contained in:
2026-03-23 18:53:04 +08:00
parent aa9b91342e
commit 66df465661

View File

@@ -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 实现云、烟雾等体积数据的实时渲染: