Plasma Engine  2.0
Loading...
Searching...
No Matches
plRenderDoc Class Reference

RenderDoc implementation of the plFrameCaptureInterface interface. More...

#include <RenderDocSingleton.h>

Inheritance diagram for plRenderDoc:

Public Member Functions

virtual bool IsInitialized () const override
 Determine if a singleton implementing this interface has successfully been initialized and frame capture functionality is available.
 
virtual void SetAbsCaptureFilePathTemplate (plStringView sFilePathTemplate) override
 Specify the absolute base file path for storing frame captures. For the final output file name, an identifier and/or frame or capture number will be appended. Note that the final output file name is determined by the frame capture implementation. Use GetLastAbsCaptureFileName() for retrieving the actual absolute file name of the most recently written capture file.
 
virtual plStringView GetAbsCaptureFilePathTemplate () const override
 Retrieve the absolute file path for storing frame captures.
 
virtual void StartFrameCapture (plWindowHandle hWnd) override
 Start capturing a frame rendered to the given window.
 
virtual bool IsFrameCapturing () const override
 Determine if a frame capture is currently in progress.
 
virtual void EndFrameCaptureAndWriteOutput (plWindowHandle hWnd) override
 End the current frame capture and write the result to the path given by SetAbsCaptureFilePathTemplate.
 
virtual void EndFrameCaptureAndDiscardResult (plWindowHandle hWnd) override
 End the current frame capture and discard the corresponding data, saving processing time and file I/O in the process.
 
virtual plResult GetLastAbsCaptureFileName (plStringBuilder &out_sFileName) const override
 Retrieve the absolute file name of the last successful frame capture. Returns PL_FAILURE if no successful capture has been performed.
 

Detailed Description

RenderDoc implementation of the plFrameCaptureInterface interface.

Adds support for capturing frames through RenderDoc. When the plugin gets loaded, an plRenderDoc instance is created and initialized. It tries to find a RenderDoc DLL dynamically, so for initialization to succeed, the DLL has to be available in some search directory (e.g. binary folder or PATH). If an outdated RenderDoc DLL is found, initialization will fail and the plugin will be deactivated.

For interface documentation see plFrameCaptureInterface

Member Function Documentation

◆ EndFrameCaptureAndDiscardResult()

void plRenderDoc::EndFrameCaptureAndDiscardResult ( plWindowHandle hWnd)
overridevirtual

End the current frame capture and discard the corresponding data, saving processing time and file I/O in the process.

Implements plFrameCaptureInterface.

◆ EndFrameCaptureAndWriteOutput()

void plRenderDoc::EndFrameCaptureAndWriteOutput ( plWindowHandle hWnd)
overridevirtual

End the current frame capture and write the result to the path given by SetAbsCaptureFilePathTemplate.

Implements plFrameCaptureInterface.

◆ GetAbsCaptureFilePathTemplate()

plStringView plRenderDoc::GetAbsCaptureFilePathTemplate ( ) const
overridevirtual

Retrieve the absolute file path for storing frame captures.

Implements plFrameCaptureInterface.

◆ GetLastAbsCaptureFileName()

plResult plRenderDoc::GetLastAbsCaptureFileName ( plStringBuilder & out_sFileName) const
overridevirtual

Retrieve the absolute file name of the last successful frame capture. Returns PL_FAILURE if no successful capture has been performed.

Implements plFrameCaptureInterface.

◆ IsFrameCapturing()

bool plRenderDoc::IsFrameCapturing ( ) const
overridevirtual

Determine if a frame capture is currently in progress.

Implements plFrameCaptureInterface.

◆ IsInitialized()

bool plRenderDoc::IsInitialized ( ) const
overridevirtual

Determine if a singleton implementing this interface has successfully been initialized and frame capture functionality is available.

Implements plFrameCaptureInterface.

◆ SetAbsCaptureFilePathTemplate()

void plRenderDoc::SetAbsCaptureFilePathTemplate ( plStringView sFilePathTemplate)
overridevirtual

Specify the absolute base file path for storing frame captures. For the final output file name, an identifier and/or frame or capture number will be appended. Note that the final output file name is determined by the frame capture implementation. Use GetLastAbsCaptureFileName() for retrieving the actual absolute file name of the most recently written capture file.

Implements plFrameCaptureInterface.

◆ StartFrameCapture()

void plRenderDoc::StartFrameCapture ( plWindowHandle hWnd)
overridevirtual

Start capturing a frame rendered to the given window.

Implements plFrameCaptureInterface.


The documentation for this class was generated from the following files: