Skip to content

Guide · Open source

How to use RenderDoc: capture and inspect a frame

Updated · written with AI from the project's own documentation and checked against our catalogue data

RenderDoc is a stand-alone graphics debugger that records one frame drawn by a program so you can examine how that frame was built. This guide is for programmers and students who write software that draws graphics and want to find rendering bugs or understand performance. By the end you will know what RenderDoc is for, how to get it, which platforms it supports, and what it lets you look at.

RenderDocbaldurk/renderdoc · ★ 11.3k · MIT

Quick start

  1. 1Confirm your target. Check that your app uses Vulkan, D3D11, D3D12, OpenGL or OpenGL ES on Windows, Linux or Android, and that you wrote it yourself.
  2. 2Download RenderDoc. Get a stable build from renderdoc.org/builds, using the MSI or portable zip on Windows or the tarball on Linux.
  3. 3Install or build. Run the installer on Windows, or install the Linux tarball or distribution package. Build from source if needed using docs/CONTRIBUTING/Compiling.md.
  4. 4Launch your application. Run your own graphics program through RenderDoc so it can record frames.
  5. 5Capture one frame. Trigger a capture while the program is rendering to record a single frame.
  6. 6Inspect the capture. Open the captured frame and use the texture, mesh, pipeline and shader views to examine draw calls and resources.

What RenderDoc is for and what it is not for

RenderDoc is a frame-capture based graphics debugger. It records one frame drawn by a program and lets you examine how it was built, including the draw calls, textures, and shaders involved.

The README is explicit that RenderDoc is intended for debugging your own programs only. Capturing commercial games or other software you did not create is not allowed in official RenderDoc channels. Capturing projects you created that use a third party engine such as Unreal or Unity, or open source and free projects, is supported.

  • Good fit: graphics programmers debugging their own Vulkan, D3D11, D3D12, or OpenGL applications
  • Good fit: engine or game developers capturing their own projects
  • Good fit: students learning how draw calls become pixels
  • Not a fit: capturing software you did not create
  • Not a fit: Metal, or D3D9/10 targets, which the support table marks as unsupported

Check that your platform and API are supported

RenderDoc supports Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on Windows, Linux, and Android. Nintendo Switch support is distributed separately to authorized developers as part of the NintendoSDK.

Check your target against the README's API support table before you start. Vulkan works on Windows, Linux and Android. D3D11 and D3D12 are listed for Windows only. OpenGL 3.2 to 4.6 Core works on Windows and Linux but not Android.

  • Linux: only 64-bit x86 is supported
  • Windows: the 64-bit build fully supports capturing from 32-bit programs
  • OpenGL 1.0 to 2.0 Compatibility and D3D9/10 are marked unsupported

Install RenderDoc on Windows, Linux or from source

On Windows, run the installer for your system: a 64-bit or 32-bit MSI is linked from the README, or you can download the portable zip from the builds page. Stable builds are recommended for new users. Nightly builds exist but may be less stable.

On Linux, a precompiled binary tarball is available, or your distribution may package RenderDoc. If neither works, you can build from source. The README's source-install command is to clone the repository from GitHub.

  • Downloads and stable or nightly builds: https://renderdoc.org/builds
  • Compilation instructions are in docs/CONTRIBUTING/Compiling.md
git clone https://github.com/baldurk/renderdoc

Capture a frame from your own application

RenderDoc works by capturing one frame from a running program you built. Start your own application through RenderDoc, let it render, and trigger a capture. The result is a single recorded frame you can open and study.

The README does not document detailed capture menus or keyboard shortcuts, so consult the online documentation at renderdoc.org/docs or the bundled renderdoc.chm for the exact steps in your version.

Inspect draw calls, textures and shaders

Once a frame is captured, you can examine how it was built. The README's screenshots show the main views: a texture view, a pixel history and shader debug view, a mesh viewer, and a pipeline viewer with constants.

Use these views to trace a bug back to the draw call or resource that caused it, or to understand where time is spent in a frame.

  • Texture view: inspect the textures used in the frame
  • Pixel history and shader debug: follow what happened to a pixel
  • Mesh viewer: look at geometry
  • Pipeline viewer and constants: see pipeline state and constant values

Learn more from the documentation and videos

The text documentation is available online for the latest stable version and as renderdoc.chm in any build. The project also links YouTube videos that show basic features and an overview, plus a presentation on real-world use.

If you get stuck, you can open a GitHub issue, join the #renderdoc channel on OFTC IRC, or join the Discord server listed in the README.

  • Docs: https://renderdoc.org/docs
  • Videos: https://www.youtube.com/user/baldurkarlsson

What people use it for

  • Finding why a texture shows the wrong colour in a game you are building
  • Tracing which draw call produced a bad pixel using pixel history
  • Checking mesh geometry and pipeline state in your own Vulkan app
  • Learning how a rendering pipeline turns draw calls into pixels
  • Debugging a Unity or Unreal project you created

Frequently asked questions

Is RenderDoc free?

Yes. RenderDoc is completely open-source under the MIT license, and the README links to its licence text in LICENSE.md.

What platforms does RenderDoc support?

RenderDoc supports Windows, Linux, and Android, plus Nintendo Switch through the separately distributed NintendoSDK for authorized developers. The supported APIs vary by platform, so check the API support table in the README.

Can I use RenderDoc to capture commercial games?

No, not in official RenderDoc channels. The README says RenderDoc is intended for debugging your own programs and that capturing commercial games you did not create is not allowed.

Does RenderDoc work on Linux ARM or other non-x86 hardware?

The README says only 64-bit x86 is supported on Linux. Check the README and documentation before relying on other hardware.

Does RenderDoc support Metal or DirectX 9?

No. The README's support table marks Metal as unsupported everywhere, and D3D9 and D3D10 as unsupported on Windows.

What are alternatives to RenderDoc?

The source lists Nsight Graphics, PIX, and apitrace as comparable projects. Choose based on your platform, graphics API, and whether you need the features of each tool.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

RenderDoc suits graphics programmers and students who want to inspect a single captured frame from their own Vulkan, D3D11, D3D12 or OpenGL application on Windows, Linux or Android. It is free and MIT licensed, but it is not for capturing software you did not make, and it does not support Metal or D3D9/10.

Install options & downloads