53
53
#include " pxr/usd/usd/prim.h"
54
54
#include " pxr/usd/usd/property.h"
55
55
#include " pxr/usd/usdGeom/metrics.h"
56
+ #include " pxr/usd/usdGeom/camera.h"
56
57
57
58
58
59
namespace Diligent
@@ -254,11 +255,13 @@ void USDViewer::LoadStage()
254
255
}
255
256
DelegateCI.TextureBindingMode = m_BindingMode;
256
257
258
+ const pxr::SdfPath SceneDelegateId = pxr::SdfPath::AbsoluteRootPath ();
259
+ const pxr::SdfPath CameraId = SceneDelegateId.AppendChild (pxr::TfToken{" _HnCamera_" });
260
+ pxr::UsdGeomCamera::Define (m_Stage.Stage , CameraId);
261
+
257
262
m_Stage.RenderDelegate = USD::HnRenderDelegate::Create (DelegateCI);
258
263
m_Stage.RenderIndex .reset (pxr::HdRenderIndex::New (m_Stage.RenderDelegate .get (), pxr::HdDriverVector{}));
259
264
260
- const pxr::SdfPath SceneDelegateId = pxr::SdfPath::AbsoluteRootPath ();
261
-
262
265
m_Stage.ImagingDelegate = std::make_unique<pxr::UsdImagingDelegate>(m_Stage.RenderIndex .get (), SceneDelegateId);
263
266
m_Stage.ImagingDelegate ->Populate (m_Stage.Stage ->GetPseudoRoot ());
264
267
@@ -270,8 +273,6 @@ void USDViewer::LoadStage()
270
273
m_Stage.FinalColorTarget = static_cast <USD::HnRenderBuffer*>(m_Stage.RenderIndex ->GetBprim (pxr::HdPrimTypeTokens->renderBuffer , FinalColorTargetId));
271
274
VERIFY_EXPR (m_Stage.FinalColorTarget != nullptr );
272
275
273
- const pxr::SdfPath CameraId = SceneDelegateId.AppendChild (pxr::TfToken{" _HnCamera_" });
274
- m_Stage.RenderIndex ->InsertSprim (pxr::HdPrimTypeTokens->camera , m_Stage.ImagingDelegate .get (), CameraId);
275
276
m_Stage.Camera = static_cast <USD::HnCamera*>(m_Stage.RenderIndex ->GetSprim (pxr::HdPrimTypeTokens->camera , CameraId));
276
277
VERIFY_EXPR (m_Stage.Camera != nullptr );
277
278
0 commit comments