Skip to content

Commit c4991ce

Browse files
committed
USDScene : Add todo
1 parent 3ee9f33 commit c4991ce

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

contrib/IECoreUSD/src/IECoreUSD/USDScene.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,15 @@ class USDScene::IO : public RefCounted
532532
return m_allTags;
533533
}
534534

535+
/// \todo This "flattens" material assignment, so that materials assigned at `/root` are loaded as attributes
536+
/// on `/root/child` as well. This is not really what we want - we want to load sparsely and let attribute
537+
/// inheritance do the rest. This would be complicated by two factors :
538+
///
539+
/// - USD's collection-based bindings. A collection-based binding on an ancestor prim would need to be transformed
540+
/// into a Cortex attribute on the prim, if the collection includes the prim.
541+
/// - USD's `bindingStrength` concept, where `UsdShadeTokens->strongerThanDescendants` allows an ancestor's
542+
/// binding to clobber descendant bindings during resolution. It is not clear how to represent that in Cortex -
543+
/// perhaps by not loading the descendant attributes at all?
535544
pxr::UsdShadeMaterial computeBoundMaterial( const pxr::UsdPrim &prim, const pxr::TfToken &materialPurpose )
536545
{
537546
// This should be thread safe, despite using caches, because

0 commit comments

Comments
 (0)