Loading...
Searching...
No Matches
UsdImagingShaderAdapter Class Reference

Delegates invalidation responsibility of a Shader prim to an ancestor Material prim. More...

#include <materialAdapter.h>

+ Inheritance diagram for UsdImagingShaderAdapter:

Public Types

using BaseAdapter = UsdImagingRepresentedByAncestorPrimAdapter
 
- Public Types inherited from UsdImagingRepresentedByAncestorPrimAdapter
using BaseAdapter = UsdImagingPrimAdapter
 
- Public Types inherited from UsdImagingPrimAdapter
enum  PopulationMode { RepresentsSelf , RepresentsSelfAndDescendents , RepresentedByAncestor }
 

Additional Inherited Members

- Public Member Functions inherited from UsdImagingRepresentedByAncestorPrimAdapter
PopulationMode GetPopulationMode () override
 Returns the prim's behavior with regard to population and invalidation.
 
SdfPath Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=nullptr) override
 Called to populate the RenderIndex for this UsdPrim.
 
void TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
 For the given prim, variability is detected and stored in timeVaryingBits.
 
void UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
 Populates the cache for the given prim, time and requestedBits.
 
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.
 
void MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override
 
- Public Member Functions inherited from UsdImagingPrimAdapter
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.
 
virtual USDIMAGING_API void ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index)
 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.
 
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.
 
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 MarkMaterialDirty (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.
 
virtual USDIMAGING_API GfMatrix4d GetInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time) const
 Get the instancer transform for the given prim.
 
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.
 
virtual USDIMAGING_API SdfPath GetInstancerId (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the instancerId for this prim.
 
virtual USDIMAGING_API SdfPathVector GetInstancerPrototypes (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the list of known prototypes of this prim.
 
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.
 
virtual USDIMAGING_API PxOsdSubdivTags GetSubdivTags (UsdPrim const &usdPrim, SdfPath const &cachePath, UsdTimeCode time) const
 Get the subdiv tags for this prim.
 
virtual USDIMAGING_API GfMatrix4d GetRelativeInstancerTransform (SdfPath const &instancerPath, SdfPath const &protoInstancerPath, UsdTimeCode time) const
 Returns the transform of protoInstancerPath relative to instancerPath.
 
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
 
virtual USDIMAGING_API VtValue GetLightParamValue (const UsdPrim &prim, const SdfPath &cachePath, const TfToken &paramName, UsdTimeCode time) const
 
USDIMAGING_API GfMatrix4d GetRootTransform () const
 The root transform provided by the delegate.
 
USDIMAGING_API void SetDelegate (UsdImagingDelegate *delegate)
 A thread-local XformCache provided by the delegate.
 
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.
 
virtual USDIMAGING_API TfToken GetPurpose (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &instanceInheritablePurpose) const
 Returns the purpose token for prim.
 
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.
 
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.
 
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.
 
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.
 
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.
 
USDIMAGING_API SdfPath GetMaterialUsdPath (UsdPrim const &prim) const
 Gets the material path for the given prim, walking up namespace if necessary.
 
USDIMAGING_API TfToken GetModelDrawMode (UsdPrim const &prim)
 Gets the model:drawMode attribute for the given prim, walking up the namespace if necessary.
 
USDIMAGING_API HdModelDrawMode GetFullModelDrawMode (UsdPrim const &prim)
 Gets the model draw mode object for the given prim, walking up the namespace if necessary.
 
USDIMAGING_API VtArray< VtIntArray > GetPerPrototypeIndices (UsdPrim const &prim, UsdTimeCode time) const
 Computes the per-prototype instance indices for a UsdGeomPointInstancer.
 
virtual USDIMAGING_API VtValue GetTopology (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Gets the topology object of a specific Usd prim.
 
virtual USDIMAGING_API GfRange3d GetExtent (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Reads the extent from the given prim.
 
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.
 
virtual USDIMAGING_API SdfPath GetMaterialId (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 
virtual USDIMAGING_API VtValue GetMaterialResource (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 bool IsSupported (UsdImagingIndexProxy const *index) const
 Returns true if the adapter can be populated into the target index.
 
virtual USDIMAGING_API TfTokenVector GetImagingSubprims (UsdPrim const &prim)
 
virtual USDIMAGING_API TfToken GetImagingSubprimType (UsdPrim const &prim, TfToken const &subprim)
 
virtual USDIMAGING_API HdContainerDataSourceHandle GetImagingSubprimData (UsdPrim const &prim, TfToken const &subprim, const UsdImagingDataSourceStageGlobals &stageGlobals)
 
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprim (UsdPrim const &prim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType)
 
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprimFromDescendent (UsdPrim const &prim, UsdPrim const &descendentPrim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType)
 This is called (for each result of GetImagingSubprims) when this adapter's GetScope() result is RepresentsSelfAndDescendents and USD properties have changed on a descendent prim whose adapter's GetScope() result is RepresentedByAncestor.
 
virtual USDIMAGING_API bool ShouldCullChildren () const
 
virtual USDIMAGING_API bool ShouldIgnoreNativeInstanceSubtrees () const
 
virtual USDIMAGING_API bool IsInstancerAdapter () const
 
virtual USDIMAGING_API bool CanPopulateUsdInstance () const
 
- Static Public Member Functions inherited from UsdImagingPrimAdapter
static USDIMAGING_API UsdAttribute LookupLightParamAttribute (UsdPrim const &prim, TfToken const &paramName)
 Provides to paramName->UsdAttribute value mappings.
 
static USDIMAGING_API bool ShouldCullSubtree (UsdPrim const &prim)
 
- Protected Types inherited from UsdImagingPrimAdapter
using Keys = UsdImagingPrimvarDescCache::Key
 
- Protected Member Functions inherited from UsdImagingRepresentedByAncestorPrimAdapter
void _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
- Protected Member Functions inherited from UsdImagingPrimAdapter
virtual USDIMAGING_API SdfPath ResolveCachePath (const SdfPath &usdPath, const UsdImagingInstancerContext *instancerContext=nullptr) const
 
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_API UsdImaging_NonlinearSampleCountCache * _GetNonlinearSampleCountCache () const
 
USDIMAGING_API 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 TfTokenVector _GetRenderSettingsNamespaces () const
 
USDIMAGING_API bool _GetSceneMaterialsEnabled () const
 Returns whether custom shading of prims is enabled.
 
USDIMAGING_API bool _GetSceneLightsEnabled () const
 Returns whether lights found in the usdscene are enabled.
 
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

Delegates invalidation responsibility of a Shader prim to an ancestor Material prim.

Definition at line 170 of file materialAdapter.h.

Member Typedef Documentation

◆ BaseAdapter

Constructor & Destructor Documentation

◆ UsdImagingShaderAdapter()

Definition at line 176 of file materialAdapter.h.


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