#bevy #renderdoc #capture #config

bevy-renderdoc-capture

Simple module for adding a RenderDoc application capture hook to Bevy apps

2 unstable releases

Uses new Rust 2024

new 0.2.0 Apr 26, 2025
0.1.0 Apr 9, 2025

#349 in Game dev

Download history 132/week @ 2025-04-09 7/week @ 2025-04-16 121/week @ 2025-04-23

260 downloads per month

MIT/Apache

27KB
99 lines

bevy-renderdoc-capture

This is a simple Bevy module to add a custom keybind for doing RenderDoc captures around Bevy's renderer. Why would you need this? When I was messing with VR stuff, RenderDoc couldn't figure out the frame boundaries itself.

To use:

  1. Add to your project.
  2. Add the RenderdocPlugin plugin to your app.
  3. Run your game in RenderDoc.
  4. Press F10.

lib.rs:

Provides a plugin to integrate renderdoc capture directly into Bevy's rendering engine.

Examples

No configuration

With no configuration, a default hook is added that allows you to press F10 to trigger a frame capture.

app.add_plugins(RenderDocPlugin::default());

With selected key code

Alternatively, you can configure which key the hook uses:

app.add_plugins(RenderDocPlugin::new_with_trigger_key(KeyCode::F12));

Without default hook

Or you can bring your own hook using [RenderDocTrigger].

app.add_plugins(RenderDocPlugin::new_without_trigger());
app.add_systems(Update, my_system);

// ...

pub fn my_system(trigger: Res<RenderDocTrigger>) {

    // Do some checks...

    trigger.capture();
}

Dependencies

~45–76MB
~1.5M SLoC