|
| HF_MALLOC_TAG_NEW ("new HdStMesh") |
|
HDST_API | HdStMesh (SdfPath const &id) |
|
HDST_API | ~HdStMesh () override |
|
HDST_API void | UpdateRenderTag (HdSceneDelegate *delegate, HdRenderParam *renderParam) override |
|
HDST_API void | Sync (HdSceneDelegate *delegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits, TfToken const &reprToken) override |
|
HDST_API void | Finalize (HdRenderParam *renderParam) override |
|
HDST_API HdDirtyBits | GetInitialDirtyBitsMask () const override |
|
HDST_API HdMeshTopologySharedPtr | GetTopology () const override |
| Topology (member) getter. More...
|
|
HD_API | ~HdMesh () override |
|
bool | IsDoubleSided (HdSceneDelegate *delegate) const |
|
HdCullStyle | GetCullStyle (HdSceneDelegate *delegate) const |
|
VtValue | GetShadingStyle (HdSceneDelegate *delegate) const |
|
HdMeshTopology | GetMeshTopology (HdSceneDelegate *delegate) const |
|
HdDisplayStyle | GetDisplayStyle (HdSceneDelegate *delegate) const |
|
PxOsdSubdivTags | GetSubdivTags (HdSceneDelegate *delegate) const |
|
VtValue | GetPoints (HdSceneDelegate *delegate) const |
|
VtValue | GetNormals (HdSceneDelegate *delegate) const |
|
HD_API TfTokenVector const & | GetBuiltinPrimvarNames () const override |
|
HD_API | HdRprim (SdfPath const &id) |
|
virtual HD_API | ~HdRprim () |
|
HD_API const
HdRepr::DrawItemUniquePtrVector & | GetDrawItems (TfToken const &reprToken) const |
|
SdfPath const & | GetId () const |
|
int32_t | GetPrimId () const |
| Return the unique instance id. More...
|
|
HD_API void | SetPrimId (int32_t primId) |
| Set the unique instance id. More...
|
|
SdfPath const & | GetInstancerId () const |
|
SdfPath const & | GetMaterialId () const |
|
HD_API void | SetMaterialId (SdfPath const &materialId) |
| Sets a new material binding to be used by this rprim. More...
|
|
HdReprSelector const & | GetReprSelector () const |
|
TfToken const & | GetRenderTag () const |
|
TfToken | GetRenderTag (HdSceneDelegate *delegate) const |
| Returns the render tag associated to this rprim. More...
|
|
GfRange3d | GetExtent (HdSceneDelegate *delegate) const |
| Returns the bounds of the rprim in local, untransformed space. More...
|
|
HdPrimvarDescriptorVector | GetPrimvarDescriptors (HdSceneDelegate *delegate, HdInterpolation interpolation) const |
| Primvar Query. More...
|
|
VtValue | GetPrimvar (HdSceneDelegate *delegate, const TfToken &name) const |
|
VtValue | GetIndexedPrimvar (HdSceneDelegate *delegate, const TfToken &name, VtIntArray *indices) const |
|
HD_API VtMatrix4dArray | GetInstancerTransforms (HdSceneDelegate *delegate) |
|
HD_API bool | IsDirty (HdChangeTracker &changeTracker) const |
| Returns true if any dirty flags are set for this rprim. More...
|
|
bool | IsVisible () const |
| Is the prim itself visible. More...
|
|
HD_API void | UpdateReprSelector (HdSceneDelegate *delegate, HdDirtyBits *dirtyBits) |
|
HD_API bool | CanSkipDirtyBitPropagationAndSync (HdDirtyBits bits) const |
|
HD_API HdDirtyBits | PropagateRprimDirtyBits (HdDirtyBits bits) |
|
HD_API void | InitRepr (HdSceneDelegate *delegate, TfToken const &reprToken, HdDirtyBits *dirtyBits) |
|
|
HDST_API void | _InitRepr (TfToken const &reprToken, HdDirtyBits *dirtyBits) override |
|
HDST_API HdDirtyBits | _PropagateDirtyBits (HdDirtyBits bits) const override |
|
void | _UpdateRepr (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, TfToken const &reprToken, HdDirtyBits *dirtyBitsState) |
|
HdBufferArrayRangeSharedPtr | _GetSharedPrimvarRange (uint64_t primvarId, HdBufferSpecVector const &updatedOrAddedSpecs, HdBufferSpecVector const &removedSpecs, HdBufferArrayRangeSharedPtr const &curRange, bool *isFirstInstance, HdStResourceRegistrySharedPtr const &resourceRegistry) const |
|
bool | _MaterialHasPtex (const HdRenderIndex &renderIndex, const SdfPath &materialId) const |
|
bool | _UseQuadIndices (const HdRenderIndex &renderIndex, const HdSt_MeshTopologySharedPtr &topology) const |
|
bool | _MaterialHasLimitSurface (const HdRenderIndex &renderIndex, const SdfPath &materialId) const |
|
bool | _UseLimitRefinement (const HdRenderIndex &renderIndex, const HdMeshTopology &topology) const |
|
bool | _UseSmoothNormals (HdSt_MeshTopologySharedPtr const &topology) const |
|
bool | _UseFlatNormals (const HdMeshReprDesc &desc) const |
|
void | _UpdateDrawItem (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdStDrawItem *drawItem, HdDirtyBits *dirtyBits, const TfToken &reprToken, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, bool requireSmoothNormals, bool requireFlatNormals, int geomSubsetDescIndex) |
|
void | _UpdateDrawItemGeometricShader (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdStDrawItem *drawItem, const HdMeshReprDesc &desc, const SdfPath &materialId) |
|
void | _UpdateShadersForAllReprs (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, bool updateMaterialNetworkShader, bool updateGeometricShader) |
|
void | _UpdateMaterialTagsForAllReprs (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam) |
|
void | _PopulateTopology (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdStDrawItem *drawItem, HdDirtyBits *dirtyBits, const TfToken &reprToken, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, int geomSubsetDescIndex) |
|
void | _UpdateDrawItemsForGeomSubsets (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdStDrawItem *drawItem, const TfToken &reprToken, const HdReprSharedPtr &repr, const HdGeomSubsets &geomSubsets, size_t oldNumGeomSubsets) |
|
void | _CreateTopologyRangeForGeomSubset (HdStResourceRegistrySharedPtr resourceRegistry, HdChangeTracker &changeTracker, HdRenderParam *renderParam, HdStDrawItem *drawItem, const TfToken &indexToken, HdBufferSourceSharedPtr indicesSource, HdBufferSourceSharedPtr fvarIndicesSource, HdBufferSourceSharedPtr geomSubsetFaceIndicesHelperSource, const VtIntArray &faceIndices, bool refined) |
|
void | _GatherFaceVaryingTopologies (HdSceneDelegate *sceneDelegate, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, HdStDrawItem *drawItem, int geomSubsetDescIndex, HdDirtyBits *dirtyBits, const SdfPath &id, HdSt_MeshTopologySharedPtr topology) |
|
void | _PopulateAdjacency (HdStResourceRegistrySharedPtr const &resourceRegistry) |
|
void | _PopulateVertexPrimvars (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, HdStDrawItem *drawItem, int geomSubsetDescIndex, HdDirtyBits *dirtyBits, bool requireSmoothNormals) |
|
void | _PopulateFaceVaryingPrimvars (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, HdStDrawItem *drawItem, int geomSubsetDescIndex, HdDirtyBits *dirtyBits) |
|
void | _PopulateElementPrimvars (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, const HdReprSharedPtr &repr, const HdMeshReprDesc &desc, HdStDrawItem *drawItem, int geomSubsetDescIndex, HdDirtyBits *dirtyBits, bool requireFlatNormals) |
|
int | _GetRefineLevelForDesc (const HdMeshReprDesc &desc) const |
|
HD_API | HdMesh (SdfPath const &id) |
|
HD_API HdReprSharedPtr const & | _GetRepr (TfToken const &reprToken) const |
|
HD_API void | _UpdateVisibility (HdSceneDelegate *sceneDelegate, HdDirtyBits *dirtyBits) |
|
HD_API void | _UpdateInstancer (HdSceneDelegate *sceneDelegate, HdDirtyBits *dirtyBits) |
|
A subdivision surface or poly-mesh object.
Definition at line 56 of file mesh.h.
Pull invalidated scene data and prepare/update the renderable representation.
This function is told which scene data to pull through the dirtyBits parameter. The first time it's called, dirtyBits comes from _GetInitialDirtyBits(), which provides initial dirty state, but after that it's driven by invalidation tracking in the scene delegate.
The contract for this function is that the prim can only pull on scene delegate buffers that are marked dirty. Scene delegates can and do implement just-in-time data schemes that mean that pulling on clean data will be at best incorrect, and at worst a crash.
This function is called in parallel from worker threads, so it needs to be threadsafe; calls into HdSceneDelegate are ok.
- Parameters
-
sceneDelegate | The data source for this geometry item. |
renderParam | A render delegate object that holds rendering parameters that scene geometry may use. |
dirtyBits | A specifier for which scene data has changed. |
reprToken | The representation that needs to be updated. This is useful for backends that support multiple display representations for an rprim. A given representation may choose to pull on a subset of the dirty state. |
dirtyBits | On input specifies which state is dirty and can be pulled from the scene delegate. On output specifies which bits are still dirty and were not cleaned by the sync. |
Implements HdRprim.