nCine::RenderDocCapture class

In-application integration of the RenderDoc graphics debugger.

Wraps the RenderDoc in-application API, allowing frame captures to be triggered and configured at runtime when the application is launched through RenderDoc. All methods are no-ops or return default values when the RenderDoc API is not available.

Public static functions

static auto isAvailable() -> bool
Returns true if the RenderDoc API is loaded and available.
static auto isTargetControlConnected() -> bool
Returns true if a RenderDoc target control connection is established.
static auto isFrameCapturing() -> bool
Returns true if a frame capture is currently in progress.
static void apiVersion(std::int32_t* major, std::int32_t* minor, std::int32_t* patch)
Retrieves the version of the loaded RenderDoc API.
static auto isOverlayEnabled() -> bool
Returns true if the RenderDoc overlay is enabled.
static void enableOverlay(bool enabled)
Enables or disables the RenderDoc overlay.
static void triggerCapture()
Schedules a capture of the next frame.
static void triggerMultiFrameCapture(std::uint32_t numFrames)
Schedules a capture spanning the specified number of frames.
static auto endFrameCapture() -> bool
Ends the current frame capture, returning true on success.
static auto discardFrameCapture() -> bool
Discards the current frame capture without saving it, returning true on success.
static auto numCaptures() -> std::uint32_t
Returns the number of captures made so far.
static auto captureInfo(std::uint32_t idx, char* filename, std::uint32_t* pathlength, std::uint64_t* timestamp) -> std::uint32_t
Retrieves the file name and timestamp of the capture at the specified index.
static auto captureFilePathTemplate() -> const char*
Returns the template used to build capture file paths.
static void setCaptureFilePathTemplate(const char* pathTemplate)
Sets the template used to build capture file paths.
static void setCaptureFileComments(const char* filePath, const char* comments)
Sets the comments embedded in the capture file at the specified path.
static auto launchReplayUI(std::uint32_t connectTargetControl, const char* cmdLine) -> std::uint32_t
Launches the RenderDoc replay UI, optionally connecting it through target control.
static void unloadCrashHandler()
Unloads the RenderDoc crash handler.