Skip to content

Commit bb3e744

Browse files
USD Viewer: properly create camera prim
1 parent d1246e7 commit bb3e744

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Samples/USDViewer/src/USDViewer.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
#include "pxr/usd/usd/prim.h"
5454
#include "pxr/usd/usd/property.h"
5555
#include "pxr/usd/usdGeom/metrics.h"
56+
#include "pxr/usd/usdGeom/camera.h"
5657

5758

5859
namespace Diligent
@@ -254,11 +255,13 @@ void USDViewer::LoadStage()
254255
}
255256
DelegateCI.TextureBindingMode = m_BindingMode;
256257

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+
257262
m_Stage.RenderDelegate = USD::HnRenderDelegate::Create(DelegateCI);
258263
m_Stage.RenderIndex.reset(pxr::HdRenderIndex::New(m_Stage.RenderDelegate.get(), pxr::HdDriverVector{}));
259264

260-
const pxr::SdfPath SceneDelegateId = pxr::SdfPath::AbsoluteRootPath();
261-
262265
m_Stage.ImagingDelegate = std::make_unique<pxr::UsdImagingDelegate>(m_Stage.RenderIndex.get(), SceneDelegateId);
263266
m_Stage.ImagingDelegate->Populate(m_Stage.Stage->GetPseudoRoot());
264267

@@ -270,8 +273,6 @@ void USDViewer::LoadStage()
270273
m_Stage.FinalColorTarget = static_cast<USD::HnRenderBuffer*>(m_Stage.RenderIndex->GetBprim(pxr::HdPrimTypeTokens->renderBuffer, FinalColorTargetId));
271274
VERIFY_EXPR(m_Stage.FinalColorTarget != nullptr);
272275

273-
const pxr::SdfPath CameraId = SceneDelegateId.AppendChild(pxr::TfToken{"_HnCamera_"});
274-
m_Stage.RenderIndex->InsertSprim(pxr::HdPrimTypeTokens->camera, m_Stage.ImagingDelegate.get(), CameraId);
275276
m_Stage.Camera = static_cast<USD::HnCamera*>(m_Stage.RenderIndex->GetSprim(pxr::HdPrimTypeTokens->camera, CameraId));
276277
VERIFY_EXPR(m_Stage.Camera != nullptr);
277278

0 commit comments

Comments
 (0)