HDK
|
#include <frameRecorder.h>
Public Member Functions | |
USDAPPUTILS_API | UsdAppUtilsFrameRecorder (const TfToken &rendererPluginId=TfToken(), bool gpuEnabled=true, const SdfPath &renderSettingsPrimPath=SdfPath()) |
TfToken | GetCurrentRendererId () const |
bool | SetRendererPlugin (const TfToken &id) |
void | SetImageWidth (const size_t imageWidth) |
void | SetComplexity (const float complexity) |
USDAPPUTILS_API void | SetColorCorrectionMode (const TfToken &colorCorrectionMode) |
USDAPPUTILS_API void | SetIncludedPurposes (const TfTokenVector &purposes) |
USDAPPUTILS_API bool | Record (const UsdStagePtr &stage, const UsdGeomCamera &usdCamera, const UsdTimeCode timeCode, const std::string &outputImagePath) |
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 for the UsdAppUtilsFrameRecorder if OpenGL is being used as the underlying HGI device. This is not required for Metal or Vulkan.
Definition at line 57 of file frameRecorder.h.
USDAPPUTILS_API UsdAppUtilsFrameRecorder::UsdAppUtilsFrameRecorder | ( | const TfToken & | rendererPluginId = TfToken() , |
bool | gpuEnabled = true , |
||
const SdfPath & | renderSettingsPrimPath = SdfPath() |
||
) |
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. The renderSettingsPrimPath
argument is used to set the active render settings prim path in Hydra.
|
inline |
Gets the ID of the Hydra renderer plugin that will be used for recording.
Definition at line 75 of file frameRecorder.h.
USDAPPUTILS_API bool UsdAppUtilsFrameRecorder::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.
When we are using a RenderSettings prim, the generated image will be written to the file indicated on the connected RenderProducts, instead of the given outputImagePath
. Note that in this case the given usdCamera
will later be overridden by the one authored on the RenderSettings Prim.
Returns true if the image was generated and written successfully, or false otherwise.
USDAPPUTILS_API void UsdAppUtilsFrameRecorder::SetColorCorrectionMode | ( | const TfToken & | colorCorrectionMode | ) |
Sets the color correction mode to be used for recording.
By default, color correction is disabled.
Sets the level of refinement complexity.
The default complexity is "low" (1.0).
Definition at line 109 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 98 of file frameRecorder.h.
USDAPPUTILS_API void UsdAppUtilsFrameRecorder::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. This also resets the presentation flag on the HdxPresentTask to false, to avoid the need for an OpenGL context.
Note that the renderer plugins that may be set will be restricted if this UsdAppUtilsFrameRecorder instance has disabled the GPU.
Definition at line 85 of file frameRecorder.h.