24 #ifndef PXR_IMAGING_HD_SMOOTH_NORMALS_H 25 #define PXR_IMAGING_HD_SMOOTH_NORMALS_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/version.h" 30 #include "pxr/imaging/hd/bufferSource.h" 31 #include "pxr/imaging/hd/computation.h" 32 #include "pxr/imaging/hd/types.h" 38 PXR_NAMESPACE_OPEN_SCOPE
41 class Hd_VertexAdjacency;
50 class Hd_SmoothNormals final {
57 Hd_VertexAdjacency
const * adjacency,
62 Hd_VertexAdjacency
const * adjacency,
67 Hd_VertexAdjacency
const * adjacency,
72 Hd_VertexAdjacency
const * adjacency,
77 Hd_SmoothNormals() =
delete;
78 ~Hd_SmoothNormals() =
delete;
88 Hd_SmoothNormalsComputation(Hd_VertexAdjacency
const *adjacency,
89 HdBufferSourceSharedPtr
const &points,
91 HdBufferSourceSharedPtr
const &adjacencyBuilder,
96 virtual void GetBufferSpecs(HdBufferSpecVector *specs)
const override;
98 virtual bool Resolve()
override;
107 Hd_VertexAdjacency
const *_adjacency;
108 HdBufferSourceSharedPtr _points;
110 HdBufferSourceSharedPtr _adjacencyBuilder;
114 PXR_NAMESPACE_CLOSE_SCOPE
116 #endif // PXR_IMAGING_HD_SMOOTH_NORMALS_H virtual HD_API TfToken const & GetName() const override
Return the name of this buffer source.
virtual void GetBufferSpecs(HdBufferSpecVector *specs) const =0
Add the buffer spec for this buffer source into given bufferspec vector.
Basic type for a vector of 3 float components.
Token for efficient comparison, assignment, and hashing of known strings.
virtual bool _CheckValid() const =0
Checks the validity of the source buffer.
Basic type for a vector of 3 double components.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
virtual bool Resolve()=0
Prepare the access of GetData().
A abstract base class for cpu computation followed by buffer transfer to the GPU.