UsdAppUtilsFrameRecorder Class Reference

A utility class for recording images of USD stages. More...

Public Member Functions

USDAPPUTILS_API UsdAppUtilsFrameRecorder (const TfToken &rendererPluginId=TfToken(), bool gpuEnabled=true)
 The rendererPluginId argument indicates the renderer plugin that Hyrda should use. More...
 
TfToken GetCurrentRendererId () const
 Gets the ID of the Hydra renderer plugin that will be used for recording. More...
 
bool SetRendererPlugin (const TfToken &id)
 Sets the Hydra renderer plugin to be used for recording. More...
 
void SetImageWidth (const size_t imageWidth)
 Sets the width of the recorded image. More...
 
void SetComplexity (const float complexity)
 Sets the level of refinement complexity. More...
 
USDAPPUTILS_API void SetColorCorrectionMode (const TfToken &colorCorrectionMode)
 Sets the color correction mode to be used for recording. More...
 
USDAPPUTILS_API void SetIncludedPurposes (const TfTokenVector &purposes)
 Sets the UsdGeomImageable purposes to be used for rendering. More...
 
USDAPPUTILS_API bool Record (const UsdStagePtr &stage, const UsdGeomCamera &usdCamera, const UsdTimeCode timeCode, const std::string &outputImagePath)
 Records an image and writes the result to outputImagePath. More...
 

Detailed Description

A utility class for recording images of USD stages.

UsdAppUtilsFrameRecorder uses Hydra to produce recorded images of a USD stage looking through a particular UsdGeomCamera on that stage at a particular UsdTimeCode. The images generated will be effectively the same as what you would see in the viewer in usdview.

Note that it is assumed that an OpenGL context has already been setup if the UsdAppUtilsFrameRecorder instance is created with the GPU enabled.

Definition at line 56 of file frameRecorder.h.

Constructor & Destructor Documentation

◆ UsdAppUtilsFrameRecorder()

USDAPPUTILS_API UsdAppUtilsFrameRecorder ( const TfToken rendererPluginId = TfToken(),
bool  gpuEnabled = true 
)

The rendererPluginId argument indicates the renderer plugin that Hyrda should use.

If the empty token is passed in, a default renderer plugin will be chosen depending on the value of gpuEnabled. The gpuEnabled argument determines if the UsdAppUtilsFrameRecorder instance will allow Hydra to use the GPU to produce images.

Member Function Documentation

◆ GetCurrentRendererId()

TfToken GetCurrentRendererId ( ) const
inline

Gets the ID of the Hydra renderer plugin that will be used for recording.

Definition at line 71 of file frameRecorder.h.

◆ Record()

USDAPPUTILS_API bool Record ( const UsdStagePtr &  stage,
const UsdGeomCamera usdCamera,
const UsdTimeCode  timeCode,
const std::string &  outputImagePath 
)

Records an image and writes the result to outputImagePath.

The recorded image will represent the view from usdCamera looking at the imageable prims on USD stage stage at time timeCode.

If usdCamera is not a valid camera, a camera will be computed to automatically frame the stage geometry.

Returns true if the image was generated and written successfully, or false otherwise.

◆ SetColorCorrectionMode()

USDAPPUTILS_API void SetColorCorrectionMode ( const TfToken colorCorrectionMode)

Sets the color correction mode to be used for recording.

By default, color correction is disabled.

◆ SetComplexity()

void SetComplexity ( const float  complexity)
inline

Sets the level of refinement complexity.

The default complexity is "low" (1.0).

Definition at line 100 of file frameRecorder.h.

◆ SetImageWidth()

void SetImageWidth ( const size_t  imageWidth)
inline

Sets the width of the recorded image.

The height of the recorded image will be computed using this value and the aspect ratio of the camera used for recording.

The default image width is 960 pixels.

Definition at line 89 of file frameRecorder.h.

◆ SetIncludedPurposes()

USDAPPUTILS_API void SetIncludedPurposes ( const TfTokenVector purposes)

Sets the UsdGeomImageable purposes to be used for rendering.

We will always include "default" purpose, and by default, we will also include UsdGeomTokens->proxy. Use this method to explicitly enumerate an alternate set of purposes to be included along with "default".

◆ SetRendererPlugin()

bool SetRendererPlugin ( const TfToken id)
inline

Sets the Hydra renderer plugin to be used for recording.

Note that the renderer plugins that may be set will be restricted if this UsdAppUtilsFrameRecorder instance has disabled the GPU.

Definition at line 79 of file frameRecorder.h.


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