RenderDoc is a free MIT licensed stand-alone graphics debugger that allows quick and easy single-frame capture and detailed introspection of any application using Vulkan, D3D11, OpenGL & OpenGL ES or D3D12 across Windows, Linux, Android, or Nintendo Switch™.

Open Development

I work on RenderDoc myself and you can always contact me with any problems or comments. I'll respond to you directly and personally, and I'm used to helping people with private or NDA'd projects.

Open Source

RenderDoc is 100% open source and development all happens on github. Check out the source and see how any feature is implemented, report a bug you've found, or request a new feature or improvement.

Usability Focus

Usability matters. Tools should have a low barrier to entry and be easy to use and understand. RenderDoc makes the process of getting started as smooth as possible, and simplifies common workflows.

Platform Support

RenderDoc supports Windows, Linux, and Android for capture and replay out of the box. Nintendo Switch™ support is distributed separately for authorized developers as part of the NintendoSDK. Captures are portable between different platforms and hardware.

Customisable

On top of being able to modify the source to change or customise behaviour, RenderDoc embeds the python runtime for progammatic access to frame captures.

Widely Used

RenderDoc is the debugger of choice for many people within the game industry, academia, and hobbyists. Engine-level integration ships in Unity, and in Unreal.

With RenderDoc I have a very useful workflow: I can open the Unity Editor in DX11 mode and capture a frame in RenderDoc, then switch the editor to Vulkan mode and capture a frame again. I can then compare the two captures side-by-side in RenderDoc without any problems.

- Mikko Strandborg (Unity)

RenderDoc has been one of the most dependable PC graphical debugging tools for us over the years. Best thing, it's open source, you can roll-out your own features and contribute fixes.

- Tiago Rodrigues (Ubisoft Montreal)

Most of my debugging usually ends with, "I should have looked at this in RenderDoc earlier".

- Nate Hawbaker (Bungie)

Screenshots

Texture view
Pixel history & shader debug
Mesh viewer
Pipeline viewer & constants

News

RenderDoc v1.0 is here! Android support for GLES & Vulkan, Qt UI on windows, and many other improvements.

This version brings some exciting new features:

  • Qt UI shipping on Windows with many improvements.
  • Android Support for both GLES and Vulkan.
  • Internal serialisation refactor allowing flexible import/export of RenderDoc captures.
  • Centralised resource inspector with details of all resources in a capture.
  • Much more!

The fully nitty-gritty and all details are available over on the GitHub release notes, so go check it out and download the build.

As always if you have any questions, comments, or any other kind of feedback you can always reach me by email or on twitter or in the IRC channel. Don't hesitate to send me a message as I'm always happy to hear from RenderDoc's users.

- @baldurk

Articles

Today is the 5 yr anniversary of the first commit to RenderDoc's original git repository. I've written some nostalgic words about the early days before its first public release.

Full article

Vulkan has a lot of really nice concepts, but one that hasn't had as much attention until now is the layer system that's built into the API ecosystem.

Full article

I've written this post with a specific target audience in mind, namely those who have a good grounding in existing APIs (e.g. D3D11 and GL) and understand the concepts of multithreading, staging resources, synchronisation and so on but want to know specifically how they are implemented in Vulkan. So we end up with a whirlwind tour of what the main Vulkan concepts look like.

Full article

A series of posts aimed at a technically minded average person, who wants to know more about how modern graphics work. This won't teach you how to make anything and it doesn't assume much prior knowledge, but hopefully it will explain the concepts at least.

Full article