7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_CAMERA_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_CAMERA_H
11#include "hdPrman/api.h"
12#include "hdPrman/renderParam.h"
13#include "pxr/imaging/hd/camera.h"
14#include "pxr/imaging/hd/timeSampleArray.h"
20PXR_NAMESPACE_OPEN_SCOPE
40 std::optional<float> shutterOpenTime;
41 std::optional<float> shutterCloseTime;
42 std::optional<std::array<float, 8>> shutteropening;
55 HdDirtyBits *dirtyBits)
override;
64#if HD_API_VERSION < 52
65 float GetLensDistortionK1()
const {
66 return _lensDistortionK1;
69 float GetLensDistortionK2()
const {
70 return _lensDistortionK2;
73 const GfVec2f &GetLensDistortionCenter()
const {
74 return _lensDistortionCenter;
77 float GetLensDistortionAnaSq()
const {
78 return _lensDistortionAnaSq;
81 const GfVec2f &GetLensDistortionAsym()
const {
82 return _lensDistortionAsym;
85 float GetLensDistortionScale()
const {
86 return _lensDistortionScale;
124 return _shutterCurve;
131 RtParamList& camParamsOverride,
132 RtParamList& projParams)
const;
134 float GetApertureAngle()
const {
135 return _apertureAngle;
138 float GetApertureDensity()
const {
139 return _apertureDensity;
142 float GetApertureNSides()
const {
143 return _apertureNSides;
146 float GetApertureRoundness()
const {
147 return _apertureRoundness;
150 float GetDofMult()
const {
156 void setFov(RtParamList& projParams)
const;
158 void setScreenWindow(RtParamList& camParams,
bool isPerspective)
const;
162#if HD_API_VERSION < 52
163 float _lensDistortionK1;
164 float _lensDistortionK2;
166 float _lensDistortionAnaSq;
168 float _lensDistortionScale;
181 ShutterCurve _shutterCurve;
183 float _apertureAngle;
184 float _apertureDensity;
186 float _apertureRoundness;
193PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 2 float components.
Hydra schema for a camera that pulls the params (see above) during Sync.
A representation for cameras that pulls on camera parameters used by Riley cameras.
HDPRMAN_API void SetRileyCameraParams(RtParamList &camParams, RtParamList &camParamsOverride, RtParamList &projParams) const
Sets the camera and projection shader parameters as expected by Riley from the USD physical camera pa...
HDPRMAN_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
Synchronizes state from the delegate to this object.
HDPRMAN_API HdTimeSampleArray< GfMatrix4d, HDPRMAN_MAX_TIME_SAMPLES > const & GetTimeSampleXforms() const
Returns the time sampled xforms that were queried during Sync.
const ShutterCurve & GetShutterCurve() const
Get the shutter curve of the camera.
See GetShutterCurve() below for a description of what these values represent.
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
A map with string keys and VtValue values.
An array of a value sampled over time, in struct-of-arrays layout.