Skip to content

Commit 311dc64

Browse files
HnRenderParam: added skinning xforms global version
1 parent 993b46d commit 311dc64

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

Hydrogent/include/HnRenderParam.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ class HnRenderParam final : public pxr::HdRenderParam
108108
// Indicates changes to light resources (e.g. textures).
109109
LightResources,
110110

111+
// Indicates changes to skinning xforms
112+
SkinningXForms,
113+
111114
Count
112115
};
113116
uint32_t GetAttribVersion(GlobalAttrib Attrib) const { return m_GlobalAttribVersions[static_cast<size_t>(Attrib)].load(); }

Hydrogent/src/Computations/HnSkinningComputation.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void HnSkinningComputation::Sync(pxr::HdSceneDelegate* SceneDelegate,
8383
m_XformsHash = pxr::TfHash{}(Xforms);
8484

8585
m_LastXformSyncFrameNumber = static_cast<const HnRenderParam*>(RenderParam)->GetFrameNumber();
86+
static_cast<HnRenderParam*>(RenderParam)->MakeAttribDirty(HnRenderParam::GlobalAttrib::SkinningXForms);
8687

8788
const HnRenderDelegate* RenderDelegate = static_cast<const HnRenderDelegate*>(SceneDelegate->GetRenderIndex().GetRenderDelegate());
8889
const USD_Renderer& USDRenderer = *RenderDelegate->GetUSDRenderer();

Hydrogent/src/Tasks/HnPostProcessTask.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -668,14 +668,15 @@ void HnPostProcessTask::Prepare(pxr::HdTaskContext* TaskCtx,
668668
}
669669
}
670670

671-
static_assert(static_cast<int>(HnRenderParam::GlobalAttrib::Count) == 9, "Please update the code below to handle the new attribute, if necessary.");
671+
static_assert(static_cast<int>(HnRenderParam::GlobalAttrib::Count) == 10, "Please update the code below to handle the new attribute, if necessary.");
672672
SuperSamplingFactors CurrSSFactors{
673673
(pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshGeometry) +
674674
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshMaterial) +
675675
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshTransform) +
676676
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshVisibility) +
677677
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::Material) +
678-
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::Light)),
678+
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::Light) +
679+
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::SkinningXForms)),
679680
m_UseSSR,
680681
m_UseSSAO,
681682
pRenderParam->GetUseShadows(),

Hydrogent/src/Tasks/HnRenderShadowsTask.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,9 @@ void HnRenderShadowsTask::Prepare(pxr::HdTaskContext* TaskCtx,
247247
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshGeometry) +
248248
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshTransform) +
249249
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshVisibility) +
250-
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshMaterial));
251-
static_assert(static_cast<int>(HnRenderParam::GlobalAttrib::Count) == 9, "Please update the code above to handle the new attribute, if necessary.");
250+
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::MeshMaterial) +
251+
pRenderParam->GetAttribVersion(HnRenderParam::GlobalAttrib::SkinningXForms));
252+
static_assert(static_cast<int>(HnRenderParam::GlobalAttrib::Count) == 10, "Please update the code above to handle the new attribute, if necessary.");
252253

253254
bool GeometryChanged = m_LastGeometryVersion != GeometryVersion;
254255
m_LastGeometryVersion = GeometryVersion;

0 commit comments

Comments
 (0)