24 #ifndef PXR_IMAGING_HD_MESH_H
25 #define PXR_IMAGING_HD_MESH_H
38 #define HD_MESH_REPR_DESC_TOKENS \
40 (surfaceShaderUnlit) \
41 (surfaceShaderSheer) \
42 (surfaceShaderOutline) \
169 HdMesh(
const HdMesh &) =
delete;
170 HdMesh &operator =(
const HdMesh &) =
delete;
220 return GetPrimvar(delegate, HdTokens->points);
226 return GetPrimvar(delegate, HdTokens->normals);
232 #endif //PXR_IMAGING_HD_MESH_H
#define HD_MESH_REPR_DESC_TOKENS
bool blendWireframeColor
Should the wireframe color be blended into the color primvar?
HD_API ~HdMesh() override
static HD_API void ConfigureRepr(TfToken const &reprName, HdMeshReprDesc desc1, HdMeshReprDesc desc2=HdMeshReprDesc())
VtValue GetShadingStyle(HdSceneDelegate *delegate) const
std::shared_ptr< class HdMeshTopology > HdMeshTopologySharedPtr
virtual HD_API PxOsdSubdivTags GetSubdivTags(SdfPath const &id)
Gets the subdivision surface tags (sharpness, holes, etc).
virtual HD_API HdDisplayStyle GetDisplayStyle(SdfPath const &id)
HdMeshTopology GetMeshTopology(HdSceneDelegate *delegate) const
VtValue GetPrimvar(HdSceneDelegate *delegate, const TfToken &name) const
static HD_API _MeshReprConfig::DescArray _GetReprDesc(TfToken const &reprName)
bool useCustomDisplacement
Should this mesh use displacementShader() to displace points?
std::vector< TfToken > TfTokenVector
Convenience types.
TF_DECLARE_PUBLIC_TOKENS(HdMeshReprDescTokens, HD_API, HD_MESH_REPR_DESC_TOKENS)
bool IsDoubleSided(HdSceneDelegate *delegate) const
VtValue GetNormals(HdSceneDelegate *delegate) const
virtual HdMeshTopologySharedPtr GetTopology() const
Topology getter.
HD_API TfTokenVector const & GetBuiltinPrimvarNames() const override
HdDisplayStyle GetDisplayStyle(HdSceneDelegate *delegate) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
SdfPath const & GetId() const
HdCullStyle GetCullStyle(HdSceneDelegate *delegate) const
virtual HD_API HdMeshTopology GetMeshTopology(SdfPath const &id)
Gets the topological mesh data for a given prim.
std::array< DESC_TYPE, N > DescArray
HdMeshReprDesc(HdMeshGeomStyle geomStyle=HdMeshGeomStyleInvalid, HdCullStyle cullStyle=HdCullStyleDontCare, TfToken shadingTerminal=HdMeshReprDescTokens->surfaceShader, bool flatShadingEnabled=false, bool blendWireframeColor=true, bool forceOpaqueEdges=true, bool doubleSided=false, float lineWidth=0, bool useCustomDisplacement=true, bool enableScalarOverride=true)
#define PXR_NAMESPACE_CLOSE_SCOPE
PxOsdSubdivTags GetSubdivTags(HdSceneDelegate *delegate) const
virtual HD_API HdCullStyle GetCullStyle(SdfPath const &id)
Returns the cullstyle for the given prim.
HdMeshGeomStyle geomStyle
The rendering style: draw refined/unrefined, edge, points, etc.
bool flatShadingEnabled
Does this mesh want flat shading?
virtual HD_API VtValue GetShadingStyle(SdfPath const &id)
Returns the shading style for the given prim.
bool enableScalarOverride
float lineWidth
How big (in pixels) should line drawing be?
HdCullStyle cullStyle
The culling style: draw front faces, back faces, etc.
VtValue GetPoints(HdSceneDelegate *delegate) const
virtual HD_API bool GetDoubleSided(SdfPath const &id)
Returns the doubleSided state for the given prim.