RenderDoc Python 模块 API 参考全览:renderdoc 模块结构与十二大接口板块导航 开发工具调试器图形学GPU【免费下载链接】renderdocRenderDoc is a stand-alone graphics debugging tool.项目地址https://gitcode.com/gh_mirrors/re/renderdoc点击查看免费下载RenderDoc 在图形调试工具之外还向 Python 暴露了完整的内部接口使开发者可以用脚本自动完成捕获、回放、分析等任务。本文以仓库中的 docs/python_api/renderdoc/index.rst 为骨架系统梳理renderdocPython 模块的定位、十二大 API 参考板块及各自核心成员并结合仓库源码说明其绑定与实现路径。读完本文你可以快速定位所需 API 所在板块掌握嵌入式脚本与独立解释器两种使用方式的差异与生命周期约束。renderdoc模块的定位UI 之下的同一套底层接口按 API 参考索引页的原始说明renderdoc模块中的函数、类与枚举代表了 UI 构建其上的底层接口the underlying interface that the UI is built on top of。这意味着UI 中能看到的任何功能原则上都能以某种方式通过 Python 访问更高级的使用说明与脚本示例见 docs/python_api/index.rst 的引导文档first_steps、ui_extensions、ide_integration、faq、examples、in_depth等。在 Python 侧存在两个分工明确的模块模块作用域说明renderdoc通用UI 内嵌 Python 与独立解释器均可底层捕获、回放、分析、资源、着色器、结构化数据等接口qrenderdoc仅在 RenderDoc UI 内可用提供 UI 相关功能访问参考 docs/python_api/qrenderdoc/index.rstrenderdoc模块的 API 参考共分十二个板块索引页 docs/python_api/renderdoc/index.rst 通过toctree组织capturing、replay、outputs、analysis、formats、resources、shaders、pipelines/index、structured_data、counters、frame_stats、utils。下文逐一展开。两种使用场景UI 内嵌脚本 vs 独立解释器加载UI 内嵌 Python开箱即用在 RenderDoc UI 中Python 脚本直接运行于内嵌的解释器实现见 qrenderdoc/Code/pyrenderdoc/PythonContext.cpp此时renderdoc与qrenderdoc两个模块都已可用且回放系统已由 UI 初始化完毕无需开发者手动处理生命周期。独立解释器加载高级用法需自行初始化docs/python_api/python_module.rst 详细说明了如何把renderdoc作为普通 Python 模块加载到独立解释器中。要点如下构建模块RenderDoc 默认不随安装包分发可加载的 Python 模块Python 绑定与具体的大版本/小版本绑定。需要先构建 RenderDoc 源码构建依赖与步骤见 docs/CONTRIBUTING/Dependencies.md 与 docs/CONTRIBUTING/Compiling.md。构建产物位置因平台而异Windows 上位于平台/构建类型下的pymodules子目录Linux 上输出到lib目录下的renderdoc.so。指定 Python 版本Windows 在 Visual Studio 项目的 Python Configuration 属性页中指定解释器路径并需要把标准库打包为python3.xx.zip可运行 util/make_python_lib_zip.py 自动从Lib/编译生成Linux 在 CMake 3.12 下使用-DFORCE_PY_VERSION3.xx强制目标版本。加载模块把模块所在目录加入sys.pathWindows 上 Python 3.8 还需os.add_dll_directory指向renderdoc.dll所在目录Linux 上模块自带RUNPATH可默认找到同目录的librenderdoc.so移动后需自行设置LD_LIBRARY_PATH。生命周期约束使用模块直连 API 时必须在调用任何 API 之前调用一次renderdoc.InitialiseReplay()在进程结束前调用renderdoc.ShutdownReplay()初始化前、关闭后调用任何 API 均非法且关闭后不可重新初始化。UI 内嵌场景下这两个函数由 UI 自动调用因此只有在独立使用模块时才需要手动处理。注意官方文档明确警告——直接使用 Python 模块属于高级用法编写 UI 脚本或扩展时并不需要这么做。十二大 API 板块逐一导航以下每个板块的内容继承自对应参考页完整成员列表由 Sphinx autodoc 从绑定接口自动生成请以参考页为准。1. Capturing捕获、注入与目标控制对应 docs/python_api/renderdoc/capturing.rst分三组Execution Injection执行与注入ExecuteAndInject启动并注入目标进程、InjectIntoProcess向已运行进程注入相关配置类CaptureOptions、EnvironmentModification、EnvMod、EnvSep以及返回结果ExecuteResult。其中环境修改相关结构用于在捕获时对目标进程注入/修改环境变量UI 的捕获选项中即有对应图形化配置。Global Hooking全局挂钩StartGlobalHook、StopGlobalHook、IsGlobalHookActive、CanGlobalHook用于对系统全局图形 API 调用进行挂钩。Target Control目标控制EnumerateRemoteTargets、CreateTargetControl配合TargetControl、TargetControlMessage、TargetControlMessageType、NewCaptureData、APIUseData、BusyData、NewChildData等实现与目标进程/设备建立受控连接并收取捕获数据。2. Replay Control初始化、打开捕获文件与回放控制器对应 docs/python_api/renderdoc/replay.rst这是使用最频繁的板块之一分六组Initialisation and Shutdown初始化与关闭InitialiseReplay、ShutdownReplayGlobalEnvironment、ResultCode、ResultDetails用于状态传递与错误描述。Capture File Access捕获文件访问OpenCaptureFile、CaptureAccess、CaptureFile、ReplaySupport、CaptureFileFormat、SectionProperties、SectionType、SectionFlags、Thumbnail。CaptureFile是打开.rdc文件后的主要操作入口例如读取文件头、枚举节Section、获取缩略图并创建回放控制器。GPU EnumerationGPU 枚举GPUDevice、GPUVendor、GPUVendorFromPCIVendor、GraphicsAPI、IsD3D、GetDriverInformation、DriverInformation用于查询设备与驱动信息。Replay Controller回放控制器ReplayController及其配置ReplayOptions、ReplayOptimisationLevel、APIProperties。ReplayController是回放、分析、取帧的核心对象。Device Protocols设备协议DeviceProtocolController、GetSupportedDeviceProtocols、GetDeviceProtocolController。Remote Servers远程服务器RemoteServer、CreateRemoteServerConnection、CheckRemoteServerConnection、BecomeRemoteServer以及文件浏览相关的PathEntry、PathProperty。3. Replay Outputs回放输出纹理、网格等视图对应 docs/python_api/renderdoc/outputs.rstGeneralReplayOutput、ReplayOutputType如 Texture / Mesh 输出类型、SetColors。Window Configuration窗口配置WindowingData、WindowingSystem以及平台相关的构造函数CreateHeadlessWindowingData、CreateWin32WindowingData、CreateXlibWindowingData、CreateXCBWindowingData、CreateWaylandWindowingData、CreateAndroidWindowingData、CreateMacOSWindowingData——这些函数把不同平台的窗口句柄统一封装为WindowingData供回放输出呈现使用。Texture View纹理视图TextureDisplay与DebugOverlay控制纹理显示方式与调试叠加层。Mesh View网格视图MeshDisplay、MeshDataStage、MeshletSize、TaskGroupSize、MeshFormat、Visualisation、Camera、CameraType、AxisMapping以及相机初始化辅助函数InitCamera。4. Replay Analysis帧、动作、调试消息与像素历史对应 docs/python_api/renderdoc/analysis.rstFrame and Actions帧与动作FrameDescription、ActionDescription、ActionFlags、APIEvent用于枚举帧内 drawcall/dispatch 等事件动作。Debug Messages调试消息DebugMessage、MessageCategory、MessageSeverity、MessageSource。Resource Usage资源使用EventUsage、ResourceUsage以及便捷构造函数ResUsage、RWResUsage、CBUsage用于描述资源在某事件上的读写用途。Texture Saving纹理保存TextureSave、FileType、AlphaMapping、TextureComponentMapping、TextureSampleMapping、TextureSliceMapping控制纹理导出为 PNG/EXR 等格式时的通道与切片映射。Pixel History像素历史PixelModification、ModificationValue、PixelValue用于查询某像素在帧内各事件作用下的变化过程。Shader Debugging着色器调试DebugPixelInputs像素着色器逐片元调试的输入描述。5. Formats资源格式描述对应 docs/python_api/renderdoc/formats.rstResourceFormat、ResourceFormatType、CompType。这是描述纹理/缓冲底层数据排布的基础类型被资源、纹理视图等板块广泛引用。6. Resources资源枚举与描述对应 docs/python_api/renderdoc/resources.rstGeneralResourceId、ResourceDescription、ResourceType、DescriptorStoreDescription。Textures纹理TextureDescription、TextureType、TextureCategory、Subresource。Buffers缓冲BufferDescription、BufferCategory。配合ReplayController的GetResources/GetTexture等接口详见 replay 板块即可遍历帧内全部 GPU 资源并读取其描述与内容。7. Shaders描述符、反射、调试与变量对应 docs/python_api/renderdoc/shaders.rst这是内容最多的板块之一分六组Descriptors描述符Descriptor、SamplerDescriptor、DescriptorFlags、DescriptorCategory、DescriptorType、DescriptorLogicalLocation、DescriptorRange、DescriptorAccess辅助函数CategoryForDescriptorType、IsConstantBlockDescriptor、IsReadOnlyDescriptor、IsReadWriteDescriptor、IsSamplerDescriptor。Reflection着色器反射ShaderReflection、ShaderStage、ShaderStageMask、MaskForStage、FirstStageForMask、SigParameter、ShaderBuiltin、ConstantBlock、ShaderSampler、ShaderResource。Debug Info调试信息ShaderDebugInfo、ShaderEncoding、KnownShaderTool、ToolExecutable、ToolInput、ToolOutput、IsTextRepresentation、ShaderEntryPoint、ShaderSourceFile、ShaderCompileFlags、ShaderCompileFlag、ShaderSourcePrefix。Shader Constants着色器常量ShaderConstant、ShaderConstantType、ShaderVariableFlags、VarType、VarTypeByteSize、VarTypeCompType。Shader Debugging着色器调试ShaderDebugTrace、ShaderDebugger、SourceVariableMapping、DebugVariableReference、DebugVariableType、LineColumnInfo、InstructionSourceInfo、ShaderDebugState、ShaderEvents、ShaderVariableChange。Shader Variables着色器变量ShaderVariable、ShaderValue、PointerVal、ShaderBindIndex、ShaderDirectAccess。8. Pipelines按图形 API 划分的管线状态参考对应 docs/python_api/renderdoc/pipelines/index.rst 目录从仓库文件命名看管线状态相关类型按通用与各图形 API 分类组织通用部分pipelines/common.rst各 API 专属部分pipelines/d3d11.rst、pipelines/d3d12.rst、pipelines/gl.rst、pipelines/vulkan.rst该板块与 UI 的 Pipeline State 窗口源码位于 qrenderdoc/Windows/PipelineState/相对应用于在回放中读取各阶段完整绑定状态。9. Structured Data结构化捕获数据对应 docs/python_api/renderdoc/structured_data.rstType information类型信息SDType、SDBasic、SDTypeFlags。Objects对象SDObject、SDObjectData、SDObjectPODData。Chunks块SDChunk、SDChunkMetaData、SDChunkFlags。Structured File结构化文件SDFile。Creation Helper Functions创建辅助函数makeSDArray、makeSDBool、makeSDEnum、makeSDFloat、makeSDInt32、makeSDInt64、makeSDResourceId、makeSDString、makeSDStruct、makeSDUInt32、makeSDUInt64。结构化数据让脚本可以遍历捕获文件中每个事件的参数对应 UI 的 Event Browser 参数视图。10. Performance CountersGPU 性能计数器对应 docs/python_api/renderdoc/counters.rstCounters计数器描述CounterDescription、CounterUnit、Uuid。Counter Types计数器类型GPUCounter及厂商/类别判定函数IsAMDCounter、IsARMCounter、IsGenericCounter、IsIntelCounter、IsNvidiaCounter、IsVulkanExtendedCounter。Results结果CounterResult、CounterValue。11. Frame Statistics帧级统计对应 docs/python_api/renderdoc/frame_stats.rst入口结构FrameStatisticsResource Statistics资源统计ResourceUpdateStats、BucketRecordTypeDrawcall Statistics绘制调用统计DrawcallStats、DispatchStatsShader Statistics着色器统计ConstantBindStats、SamplerBindStats、ResourceBindStats、ShaderChangeStatsFixed Function Statistics固定功能统计IndexBindStats、VertexBindStats、LayoutBindStats、BlendStats、DepthStencilStats、RasterizationStats、OutputTargetStats。12. Utilities数学、日志、版本、设置与自托管捕获对应 docs/python_api/renderdoc/utils.rstMaths数学FloatVector、HalfToFloat、FloatToHalf。Logging Versioning日志与版本LogMessage、SetDebugLogFile、GetLogFile、GetCurrentProcessMemoryUsage、DumpObject、LogType版本信息GetVersionString、GetCommitHash、IsReleaseBuild。Settings设置GetConfigSetting、SetConfigSetting、SaveConfigSettings可在脚本中读写并持久化配置项。Self-hosted captures自托管捕获CanSelfHostedCapture、StartSelfHostCapture、EndSelfHostCapture支持由应用自身发起捕获的托管流程。与仓库源码的对应关系renderdoc模块并不是独立的另一套实现而是对 C 回放接口的 Python 绑定SWIG 绑定层模块由 SWIG 接口文件 qrenderdoc/Code/pyrenderdoc/renderdoc.i 定义将底层 C 类型与函数导出为 Python 的renderdoc模块UI 内嵌运行时由 qrenderdoc/Code/pyrenderdoc/PythonContext.cpp 维护。C 实现层回放控制器与驱动实现位于 renderdoc/replay/如 replay_controller.h、replay_driver.h、app_api.cpp公开 API 头文件集中在 renderdoc/api/replay/参考页中大量结构体如ResourceFormat、ShaderReflection、ReplayOptions即来源于这些头文件的声明经 SWIG 与 autodoc 自动生成文档。测试佐证仓库的自动化测试大量直接使用 Python 模块完成捕获、回放与分析测试框架位于 util/test/rdtest/用例位于 util/test/tests/这与 docs/python_api/python_module.rst 中直接使用模块的复杂示例可参考自动测试脚本的说明一致此外 docs/check_stubs.py、docs/verify-docstrings.py、docs/stubgen.py 等脚本用于生成与校验 API 文档/类型桩保证参考页与实际绑定一致。常见任务 → API 板块速查目标任务首选板块关键类型/函数启动并注入进程、配置捕获环境变量CapturingExecuteAndInject、CaptureOptions、EnvironmentModification初始化回放系统、打开.rdc文件Replay ControlInitialiseReplay、OpenCaptureFile、CaptureFile、ShutdownReplay创建回放控制器并逐帧/逐事件分析Replay Control / AnalysisReplayController、FrameDescription、ActionDescription查看纹理/网格并导出图片Replay Outputs / AnalysisReplayOutput、TextureDisplay、MeshDisplay、TextureSave遍历 GPU 资源与纹理信息Resources / FormatsResourceDescription、TextureDescription、ResourceFormat读取着色器反射与调试变量ShadersShaderReflection、ShaderDebugTrace、ShaderVariable查询像素历史与逐片元调试Analysis / ShadersPixelModification、DebugPixelInputs、ShaderDebugger采集性能计数器与帧统计Counters / Frame StatisticsGPUCounter、CounterResult、FrameStatistics遍历事件参数结构化数据Structured DataSDFile、SDChunk、SDObject读写设置、查询版本、输出日志UtilitiesGetConfigSetting、GetVersionString、LogMessage深入阅读路径各板块完整 autodoc 参考见 docs/python_api/renderdoc/ 目录下全部.rst文件含 capturing.rst、replay.rst、outputs.rst、analysis.rst、shaders.rst、structured_data.rst 等。入门与 UI 扩展 docs/python_api/first_steps.rst、docs/python_api/ui_extensions.rst、docs/python_api/ide_integration.rst、docs/python_api/faq.rst以及 examples/ 与 in_depth/ 中的示例与深度主题。UI 侧接口 docs/python_api/qrenderdoc/index.rst。构建与依赖 docs/CONTRIBUTING/Compiling.md、docs/CONTRIBUTING/Dependencies.mdPython 模块的独立加载细节见 docs/python_api/python_module.rst。简而言之renderdoc模块的 API 参考以十二大板块完整覆盖了从捕获、回放、输出到分析、着色器与统计的全链路能力无论是编写一次性分析脚本、长期运行的自动化测试还是在 UI 中做个性化扩展都可以从本文的板块导航出发直接进入对应参考页查阅由 autodoc 生成的最新签名与成员说明。赞分享开发工具调试器图形学GPU【免费下载链接】renderdocRenderDoc is a stand-alone graphics debugging tool.项目地址https://gitcode.com/gh_mirrors/re/renderdoc点击查看免费下载相关推荐ScyllaDB REST API 参考指南docs/reference/api 目录结构与 22 个 Swagger 接口模块详解ScyllaDB REST API 参考指南docs/reference/api 目录结构与 22 个 Swagger 接口模块详解 ScyllaDB 在监听数据库分布式数据库后端大数据MXNet Python API 顶层包结构全解析从 mxnet 模块索引到 37 个子模块的实战导航MXNet Python API 顶层包结构全解析从 mxnet 模块索引到 37 个子模块的实战导航 导读 本文围绕 Apache MXNet 官方文档的深度学习机器学习人工智能终极指南3步解锁Amlogic电视盒子无线网络功能终极指南3步解锁Amlogic电视盒子无线网络功能 你是否曾为Amlogic S9xxx系列电视盒子刷入Armbian系统后无线网络无法正常工作而苦恼老旧电开发工具调试器图形学GPU上一篇Transformer模型可解释性如何理解AI决策的完整方法指南下一篇Terraform-docs插件开发实战打造自定义输出格式创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考