24 #ifndef PXR_IMAGING_HD_ST_PRIM_UTILS_H
25 #define PXR_IMAGING_HD_ST_PRIM_UTILS_H
53 std::shared_ptr<class HdSt_MaterialNetworkShader>;
58 std::shared_ptr<HdStResourceRegistry>;
88 int geomSubsetDescIndex = 0,
89 size_t numGeomSubsets = 0);
125 bool hasDisplayOpacityPrimvar,
126 bool occludedSelectionShowsThrough);
227 bool *hasMirroredTransform =
nullptr);
258 VtIntArray invisibleElements,
259 int numTotalElements,
260 VtIntArray invisiblePoints,
322 #endif // PXR_IMAGING_HD_ST_PRIM_UTILS_H
HDST_API uint64_t HdStComputeSharedPrimvarId(uint64_t baseId, HdBufferSourceSharedPtrVector const &sources, HdStComputationComputeQueuePairVector const &computations)
HDST_API void HdStMarkDrawBatchesDirty(HdRenderParam *renderParam)
HDST_API bool HdStCanSkipBARAllocationOrUpdate(HdBufferSourceSharedPtrVector const &sources, HdStComputationComputeQueuePairVector const &computations, HdBufferArrayRangeSharedPtr const &curRange, HdDirtyBits dirtyBits)
std::shared_ptr< class HdSt_MaterialNetworkShader > HdSt_MaterialNetworkShaderSharedPtr
HDST_API bool HdStShouldPopulateConstantPrimvars(HdDirtyBits const *dirtyBits, SdfPath const &id)
HDST_API void HdStSetMaterialId(HdSceneDelegate *delegate, HdRenderParam *renderParam, HdRprim *rprim)
HDST_API void HdStUpdateInstancerData(HdRenderIndex &renderIndex, HdRenderParam *renderParam, HdRprim *prim, HdStDrawItem *drawItem, HdRprimSharedData *sharedData, HdDirtyBits rprimDirtyBits)
std::shared_ptr< HdRepr > HdReprSharedPtr
std::vector< HdBufferSourceSharedPtr > HdBufferSourceSharedPtrVector
HDST_API void HdStMarkMaterialTagsDirty(HdRenderParam *renderParam)
HDST_API void HdStMarkGarbageCollectionNeeded(HdRenderParam *renderParam)
HDST_API void HdStSetMaterialTag(HdRenderParam *renderParam, HdDrawItem *drawItem, const TfToken &materialTag)
HDST_API bool HdStIsValidBAR(HdBufferArrayRangeSharedPtr const &range)
HDST_API HdBufferSpecVector HdStGetRemovedPrimvarBufferSpecs(HdBufferArrayRangeSharedPtr const &curRange, HdPrimvarDescriptorVector const &newPrimvarDescs, HdExtComputationPrimvarDescriptorVector const &newCompPrimvarDescs, TfTokenVector const &internallyGeneratedPrimvarNames, SdfPath const &rprimId)
HDST_API HdSt_MaterialNetworkShaderSharedPtr HdStGetMaterialNetworkShader(HdRprim const *prim, HdSceneDelegate *delegate)
std::shared_ptr< class HdStComputation > HdStComputationSharedPtr
std::vector< TfToken > TfTokenVector
Convenience types.
std::vector< struct HdBufferSpec > HdBufferSpecVector
HDST_API void HdStPopulateConstantPrimvars(HdRprim *prim, HdRprimSharedData *sharedData, HdSceneDelegate *delegate, HdRenderParam *renderParam, HdStDrawItem *drawItem, HdDirtyBits *dirtyBits, HdPrimvarDescriptorVector const &constantPrimvars, bool *hasMirroredTransform=nullptr)
HDST_API void HdStMarkGeomSubsetDrawItemsDirty(HdRenderParam *renderParam)
HDST_API bool HdStIsEnabledSharedVertexPrimvar()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HDST_API void HdStProcessTopologyVisibility(VtIntArray invisibleElements, int numTotalElements, VtIntArray invisiblePoints, int numTotalPoints, HdRprimSharedData *sharedData, HdStDrawItem *drawItem, HdRenderParam *renderParam, HdChangeTracker *changeTracker, HdStResourceRegistrySharedPtr const &resourceRegistry, SdfPath const &rprimId)
std::vector< std::pair< HdStComputationSharedPtr, HdStComputeQueue >> HdStComputationComputeQueuePairVector
HDST_API bool HdStIsInstancePrimvarExistentAndValid(HdRenderIndex &renderIndex, HdRprim *prim, TfToken const &primvarName)
#define PXR_NAMESPACE_CLOSE_SCOPE
std::shared_ptr< HdBufferArrayRange > HdBufferArrayRangeSharedPtr
HDST_API void HdStGetBufferSpecsFromCompuations(HdStComputationComputeQueuePairVector const &computations, HdBufferSpecVector *bufferSpecs)
HDST_API HdPrimvarDescriptorVector HdStGetPrimvarDescriptors(HdRprim const *prim, HdStDrawItem const *drawItem, HdSceneDelegate *delegate, HdInterpolation interpolation, const HdReprSharedPtr &repr=nullptr, HdMeshGeomStyle descGeomStyle=HdMeshGeomStyleInvalid, int geomSubsetDescIndex=0, size_t numGeomSubsets=0)
std::vector< HdPrimvarDescriptor > HdPrimvarDescriptorVector
HDST_API bool HdStIsPrimvarExistentAndValid(HdRprim *prim, HdSceneDelegate *delegate, HdPrimvarDescriptorVector const &primvars, TfToken const &primvarName)
std::shared_ptr< class HdStResourceRegistry > HdStResourceRegistrySharedPtr
HDST_API void HdStUpdateRenderTag(HdSceneDelegate *delegate, HdRenderParam *renderParam, HdRprim *rprim)
HDST_API void HdStUpdateDrawItemBAR(HdBufferArrayRangeSharedPtr const &newRange, int drawCoordIndex, HdRprimSharedData *sharedData, HdRenderParam *renderParam, HdChangeTracker *changeTracker)
std::vector< HdExtComputationPrimvarDescriptor > HdExtComputationPrimvarDescriptorVector
HDST_API HdPrimvarDescriptorVector HdStGetInstancerPrimvarDescriptors(HdStInstancer const *instancer, HdSceneDelegate *delegate)