UsdImagingMaterialAdapter Class Reference

Provides information that can be used to generate a material. More...

+ Inheritance diagram for UsdImagingMaterialAdapter:

Public Types

using BaseAdapter = UsdImagingPrimAdapter
 

Public Member Functions

Scene Index Support
USDIMAGING_API TfTokenVector GetImagingSubprims () override
 
USDIMAGING_API TfToken GetImagingSubprimType (TfToken const &subprim) override
 
USDIMAGING_API HdContainerDataSourceHandle GetImagingSubprimData (TfToken const &subprim, UsdPrim const &prim, const UsdImagingDataSourceStageGlobals &stageGlobals) override
 
Initialization
USDIMAGING_API SdfPath Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
 Called to populate the RenderIndex for this UsdPrim. More...
 
USDIMAGING_API bool IsSupported (UsdImagingIndexProxy const *index) const override
 Returns true if the adapter can be populated into the target index. More...
 
Parallel Setup and Resolve
USDIMAGING_API void TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 Thread Safe. More...
 
USDIMAGING_API void UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 Thread Safe. More...
 
Change Processing
USDIMAGING_API HdDirtyBits ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName) override
 Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized. More...
 
USDIMAGING_API void MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override
 
USDIMAGING_API void MarkMaterialDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
USDIMAGING_API void ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 When a PrimResync event occurs, the prim may have been deleted entirely, adapter plug-ins should override this method to free any per-prim state that was accumulated in the adapter. More...
 
- Public Member Functions inherited from UsdImagingPrimAdapter
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprim (TfToken const &subprim, TfTokenVector const &properties)
 
virtual USDIMAGING_API HdDirtyBits ProcessPrimChange (UsdPrim const &prim, SdfPath const &cachePath, TfTokenVector const &changedFields)
 Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized. More...
 
virtual USDIMAGING_API void ProcessPrimRemoval (SdfPath const &cachePath, UsdImagingIndexProxy *index)
 Removes all associated Rprims and dependencies from the render index without scheduling them for repopulation. More...
 
virtual USDIMAGING_API void MarkRefineLevelDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkReprDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkCullStyleDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkRenderTagDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkTransformDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkVisibilityDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkLightParamsDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkWindowPolicyDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkCollectionsDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void InvokeComputation (SdfPath const &cachePath, HdExtComputationContext *context)
 
virtual USDIMAGING_API std::vector< VtArray< TfToken > > GetInstanceCategories (UsdPrim const &prim)
 Return an array of the categories used by each instance. More...
 
virtual USDIMAGING_API GfMatrix4d GetInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time) const
 Get the instancer transform for the given prim. More...
 
virtual USDIMAGING_API size_t SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues)
 Sample the instancer transform for the given prim. More...
 
virtual USDIMAGING_API SdfPath GetInstancerId (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the instancerId for this prim. More...
 
virtual USDIMAGING_API SdfPathVector GetInstancerPrototypes (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the list of known prototypes of this prim. More...
 
virtual USDIMAGING_API size_t SamplePrimvar (UsdPrim const &usdPrim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, VtValue *sampleValues, VtIntArray *sampleIndices)
 Sample the primvar for the given prim. More...
 
virtual USDIMAGING_API PxOsdSubdivTags GetSubdivTags (UsdPrim const &usdPrim, SdfPath const &cachePath, UsdTimeCode time) const
 Get the subdiv tags for this prim. More...
 
virtual USDIMAGING_API GfMatrix4d GetRelativeInstancerTransform (SdfPath const &instancerPath, SdfPath const &protoInstancerPath, UsdTimeCode time) const
 Returns the transform of protoInstancerPath relative to instancerPath. More...
 
virtual USDIMAGING_API SdfPath GetScenePrimPath (SdfPath const &cachePath, int instanceIndex, HdInstancerContext *instancerCtx) const
 
virtual USDIMAGING_API SdfPathVector GetScenePrimPaths (SdfPath const &cachePath, std::vector< int > const &instanceIndices, std::vector< HdInstancerContext > *instancerCtxs) const
 
virtual USDIMAGING_API bool PopulateSelection (HdSelection::HighlightMode const &highlightMode, SdfPath const &cachePath, UsdPrim const &usdPrim, int const hydraInstanceIndex, VtIntArray const &parentInstanceIndices, HdSelectionSharedPtr const &result) const
 
virtual USDIMAGING_API HdVolumeFieldDescriptorVector GetVolumeFieldDescriptors (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const
 
USDIMAGING_API GfMatrix4d GetRootTransform () const
 The root transform provided by the delegate. More...
 
USDIMAGING_API void SetDelegate (UsdImagingDelegate *delegate)
 A thread-local XformCache provided by the delegate. More...
 
USDIMAGING_API bool IsChildPath (SdfPath const &path) const
 
virtual USDIMAGING_API bool GetVisible (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Returns true if the given prim is visible, taking into account inherited visibility values. More...
 
virtual USDIMAGING_API TfToken GetPurpose (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &instanceInheritablePurpose) const
 Returns the purpose token for prim. More...
 
USDIMAGING_API TfToken GetInheritablePurpose (UsdPrim const &prim) const
 Returns the purpose token for prim, but only if it is inheritable by child prims (i.e. More...
 
virtual USDIMAGING_API GfMatrix4d GetTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, bool ignoreRootTransform=false) const
 Fetches the transform for the given prim at the given time from a pre-computed cache of prim transforms. More...
 
virtual USDIMAGING_API size_t SampleTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues)
 Samples the transform for the given prim. More...
 
virtual USDIMAGING_API VtValue Get (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, VtIntArray *outIndices) const
 Gets the value of the parameter named key for the given prim (which has the given cache path) and given time. More...
 
virtual USDIMAGING_API HdCullStyle GetCullStyle (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Gets the cullstyle of a specific path in the scene graph. More...
 
USDIMAGING_API SdfPath GetMaterialUsdPath (UsdPrim const &prim) const
 Gets the material path for the given prim, walking up namespace if necessary. More...
 
USDIMAGING_API TfToken GetModelDrawMode (UsdPrim const &prim)
 Gets the model:drawMode attribute for the given prim, walking up the namespace if necessary. More...
 
USDIMAGING_API VtArray< VtIntArray > GetPerPrototypeIndices (UsdPrim const &prim, UsdTimeCode time) const
 Computes the per-prototype instance indices for a UsdGeomPointInstancer. More...
 
virtual USDIMAGING_API VtValue GetTopology (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Gets the topology object of a specific Usd prim. More...
 
virtual USDIMAGING_API GfRange3d GetExtent (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Reads the extent from the given prim. More...
 
virtual USDIMAGING_API bool GetDoubleSided (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Reads double-sided from the given prim. If not authored, returns false. More...
 
virtual USDIMAGING_API SdfPath GetMaterialId (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 
virtual USDIMAGING_API const TfTokenVectorGetExtComputationSceneInputNames (SdfPath const &cachePath) const
 
virtual USDIMAGING_API HdExtComputationInputDescriptorVector GetExtComputationInputs (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API HdExtComputationOutputDescriptorVector GetExtComputationOutputs (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API HdExtComputationPrimvarDescriptorVector GetExtComputationPrimvars (UsdPrim const &prim, SdfPath const &cachePath, HdInterpolation interpolation, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API VtValue GetExtComputationInput (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &name, UsdTimeCode time, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API size_t SampleExtComputationInput (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &name, UsdTimeCode time, const UsdImagingInstancerContext *instancerContext, size_t maxSampleCount, float *sampleTimes, VtValue *sampleValues)
 
virtual USDIMAGING_API std::string GetExtComputationKernel (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API VtValue GetInstanceIndices (UsdPrim const &instancerPrim, SdfPath const &instancerCachePath, SdfPath const &prototypeCachePath, UsdTimeCode time) const
 
virtual USDIMAGING_API bool ShouldCullChildren () const
 
virtual USDIMAGING_API bool ShouldIgnoreNativeInstanceSubtrees () const
 
virtual USDIMAGING_API bool IsInstancerAdapter () const
 
virtual USDIMAGING_API bool CanPopulateUsdInstance () const
 

Utilities

USDIMAGING_API VtValue GetMaterialResource (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override
 
USDIMAGING_API void _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) final
 

Additional Inherited Members

- Static Public Member Functions inherited from UsdImagingPrimAdapter
static USDIMAGING_API bool ShouldCullSubtree (UsdPrim const &prim)
 
- Protected Types inherited from UsdImagingPrimAdapter
using Keys = UsdImagingPrimvarDescCache::Key
 
- Protected Member Functions inherited from UsdImagingPrimAdapter
template<typename T >
_Get (UsdPrim const &prim, TfToken const &attrToken, UsdTimeCode time) const
 
template<typename T >
void _GetPtr (UsdPrim const &prim, TfToken const &key, UsdTimeCode time, T *out) const
 
USDIMAGING_API UsdImagingPrimvarDescCache_GetPrimvarDescCache () const
 
UsdImaging_NonlinearSampleCountCache * _GetNonlinearSampleCountCache () const
 
UsdImaging_BlurScaleCache * _GetBlurScaleCache () const
 
USDIMAGING_API UsdPrim _GetPrim (SdfPath const &usdPath) const
 
USDIMAGING_API const UsdImagingPrimAdapterSharedPtr & _GetPrimAdapter (UsdPrim const &prim, bool ignoreInstancing=false) const
 
USDIMAGING_API const UsdImagingPrimAdapterSharedPtr & _GetAdapter (TfToken const &adapterKey) const
 
USDIMAGING_API SdfPath _GetPrimPathFromInstancerChain (SdfPathVector const &instancerChain) const
 
USDIMAGING_API UsdTimeCode _GetTimeWithOffset (float offset) const
 
USDIMAGING_API SdfPath _ConvertCachePathToIndexPath (SdfPath const &cachePath) const
 
USDIMAGING_API SdfPath _ConvertIndexPathToCachePath (SdfPath const &indexPath) const
 
USDIMAGING_API TfToken _GetMaterialBindingPurpose () const
 
USDIMAGING_API TfTokenVector _GetMaterialRenderContexts () const
 
USDIMAGING_API bool _GetSceneMaterialsEnabled () const
 Returns whether custom shading of prims is enabled. More...
 
USDIMAGING_API bool _GetSceneLightsEnabled () const
 Returns whether lights found in the usdscene are enabled. More...
 
USDIMAGING_API bool _IsPrimvarFilteringNeeded () const
 
USDIMAGING_API TfTokenVector _GetShaderSourceTypes () const
 
USDIMAGING_API bool _IsInInvisedPaths (SdfPath const &usdPath) const
 
USDIMAGING_API bool _IsVarying (UsdPrim prim, TfToken const &attrName, HdDirtyBits dirtyFlag, TfToken const &perfToken, HdDirtyBits *dirtyFlags, bool isInherited, bool *exists=nullptr) const
 
USDIMAGING_API bool _IsTransformVarying (UsdPrim prim, HdDirtyBits dirtyFlag, TfToken const &perfToken, HdDirtyBits *dirtyFlags) const
 
USDIMAGING_API void _MergePrimvar (HdPrimvarDescriptorVector *vec, TfToken const &name, HdInterpolation interp, TfToken const &role=TfToken(), bool indexed=false) const
 
USDIMAGING_API void _RemovePrimvar (HdPrimvarDescriptorVector *vec, TfToken const &name) const
 
USDIMAGING_API void _ComputeAndMergePrimvar (UsdPrim const &prim, UsdGeomPrimvar const &primvar, UsdTimeCode time, HdPrimvarDescriptorVector *primvarDescs, HdInterpolation *interpOverride=nullptr) const
 
USDIMAGING_API HdDirtyBits _ProcessNonPrefixedPrimvarPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName, TfToken const &primvarName, HdInterpolation const &primvarInterp, HdDirtyBits valueChangeDirtyBit=HdChangeTracker::DirtyPrimvar) const
 
USDIMAGING_API HdDirtyBits _ProcessPrefixedPrimvarPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName, HdDirtyBits valueChangeDirtyBit=HdChangeTracker::DirtyPrimvar, bool inherited=true) const
 
USDIMAGING_API void _ResyncDependents (SdfPath const &usdPath, UsdImagingIndexProxy *index)
 
USDIMAGING_API UsdImaging_CollectionCache & _GetCollectionCache () const
 
USDIMAGING_API UsdStageRefPtr _GetStage () const
 
USDIMAGING_API UsdImaging_CoordSysBindingStrategy::value_type _GetCoordSysBindings (UsdPrim const &prim) const
 
USDIMAGING_API UsdImaging_InheritedPrimvarStrategy::value_type _GetInheritedPrimvars (UsdPrim const &prim) const
 
USDIMAGING_API UsdGeomPrimvar _GetInheritedPrimvar (UsdPrim const &prim, TfToken const &primvarName) const
 
USDIMAGING_API GfInterval _GetCurrentTimeSamplingInterval ()
 
USDIMAGING_API Usd_PrimFlagsConjunction _GetDisplayPredicate () const
 
USDIMAGING_API Usd_PrimFlagsConjunction _GetDisplayPredicateForPrototypes () const
 
USDIMAGING_API bool _DoesDelegateSupportCoordSys () const
 
- Static Protected Member Functions inherited from UsdImagingPrimAdapter
static USDIMAGING_API bool _HasPrimvarsPrefix (TfToken const &propertyName)
 

Detailed Description

Provides information that can be used to generate a material.

Definition at line 39 of file materialAdapter.h.

Member Function Documentation

◆ IsSupported()

USDIMAGING_API bool IsSupported ( UsdImagingIndexProxy const *  index) const
overridevirtual

Returns true if the adapter can be populated into the target index.

Reimplemented from UsdImagingPrimAdapter.

◆ Populate()

USDIMAGING_API SdfPath Populate ( UsdPrim const &  prim,
UsdImagingIndexProxy index,
UsdImagingInstancerContext const *  instancerContext = NULL 
)
overridevirtual

Called to populate the RenderIndex for this UsdPrim.

The adapter is expected to create one or more prims in the render index using the given proxy.

Implements UsdImagingPrimAdapter.

◆ ProcessPrimResync()

USDIMAGING_API void ProcessPrimResync ( SdfPath const &  cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

When a PrimResync event occurs, the prim may have been deleted entirely, adapter plug-ins should override this method to free any per-prim state that was accumulated in the adapter.

Reimplemented from UsdImagingPrimAdapter.

◆ ProcessPropertyChange()

USDIMAGING_API HdDirtyBits ProcessPropertyChange ( UsdPrim const &  prim,
SdfPath const &  cachePath,
TfToken const &  propertyName 
)
overridevirtual

Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.

Implements UsdImagingPrimAdapter.

◆ TrackVariability()

USDIMAGING_API void TrackVariability ( UsdPrim const &  prim,
SdfPath const &  cachePath,
HdDirtyBits *  timeVaryingBits,
UsdImagingInstancerContext const *  instancerContext = NULL 
) const
overridevirtual

Thread Safe.

Implements UsdImagingPrimAdapter.

◆ UpdateForTime()

USDIMAGING_API void UpdateForTime ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time,
HdDirtyBits  requestedBits,
UsdImagingInstancerContext const *  instancerContext = NULL 
) const
overridevirtual

Thread Safe.

Implements UsdImagingPrimAdapter.


The documentation for this class was generated from the following file: