24#ifndef PXR_IMAGING_HD_BASIS_CURVES_H
25#define PXR_IMAGING_HD_BASIS_CURVES_H
28#include "pxr/imaging/hd/api.h"
29#include "pxr/imaging/hd/version.h"
30#include "pxr/imaging/hd/rprim.h"
32PXR_NAMESPACE_OPEN_SCOPE
34#define HD_BASISCURVES_REPR_DESC_TOKENS \
36 (surfaceShaderUnlit) \
41 HD_BASISCURVES_REPR_DESC_TOKENS);
50 HdBasisCurvesGeomStyle geomStyle = HdBasisCurvesGeomStyleInvalid,
52 : geomStyle(geomStyle),
56 bool IsEmpty()
const {
57 return geomStyle == HdBasisCurvesGeomStyleInvalid;
60 HdBasisCurvesGeomStyle geomStyle;
96 using _BasisCurvesReprConfig = _ReprDescConfigs<HdBasisCurvesReprDesc>;
99 static _BasisCurvesReprConfig::DescArray
100 _GetReprDesc(
TfToken const &reprName);
108 static _BasisCurvesReprConfig _reprDescConfig;
124PXR_NAMESPACE_CLOSE_SCOPE
Hydra Schema for a collection of curves using a particular basis.
static HD_API bool IsEnabledForceRefinedCurves()
Returns whether refinement is always on or not.
static HD_API void ConfigureRepr(TfToken const &reprName, HdBasisCurvesReprDesc desc)
Configure geometric style of drawItems for reprName.
HdBasisCurvesTopology GetBasisCurvesTopology(HdSceneDelegate *delegate) const
Topology.
HD_API TfTokenVector const & GetBuiltinPrimvarNames() const override
Returns the names of built-in primvars, i.e.
Topology data for basisCurves.
The render engine state for a given rprim from the scene graph.
SdfPath const & GetId() const
Returns the identifier of this Rprim.
Adapter class providing data exchange with the client scene graph.
virtual HD_API HdDisplayStyle GetDisplayStyle(SdfPath const &id)
Returns the refinement level for the given prim in the range [0,8].
virtual HD_API HdBasisCurvesTopology GetBasisCurvesTopology(SdfPath const &id)
Gets the topological curve data for a given prim.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Descriptor to configure a drawItem for a repr.
TfToken shadingTerminal
Specifies how the fragment color should be computed from primvar; this can be used to render heatmap ...
Describes how the geometry of a prim should be displayed.
std::vector< TfToken > TfTokenVector
Convenience types.