![]() |
|
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... | |
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.
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.
|
inline |
Gets the ID of the Hydra renderer plugin that will be used for recording.
Definition at line 71 of file frameRecorder.h.
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.
USDAPPUTILS_API void SetColorCorrectionMode | ( | const TfToken & | colorCorrectionMode | ) |
Sets the color correction mode to be used for recording.
By default, color correction is disabled.
|
inline |
Sets the level of refinement complexity.
The default complexity is "low" (1.0).
Definition at line 100 of file frameRecorder.h.
|
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.
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".
|
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.