24 #ifndef PXR_IMAGING_HD_ST_SMOOTH_NORMALS_H
25 #define PXR_IMAGING_HD_ST_SMOOTH_NORMALS_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hd/bufferSource.h"
30 #include "pxr/imaging/hd/computation.h"
34 PXR_NAMESPACE_OPEN_SCOPE
37 class Hd_VertexAdjacency;
42 class HdSt_SmoothNormalsComputationGPU :
public HdComputation {
46 HdSt_SmoothNormalsComputationGPU(Hd_VertexAdjacency
const *adjacency,
53 virtual void GetBufferSpecs(HdBufferSpecVector *specs)
const override;
55 virtual void Execute(HdBufferArrayRangeSharedPtr
const &range,
64 Hd_VertexAdjacency
const *_adjacency;
72 PXR_NAMESPACE_CLOSE_SCOPE
74 #endif // PXR_IMAGING_HD_ST_SMOOTH_NORMALS_H
virtual int GetNumOutputElements() const =0
Returns the size of its destination buffer (located by range argument of Execute()).
Token for efficient comparison, assignment, and hashing of known strings.
A central registry for resources.
virtual void Execute(HdBufferArrayRangeSharedPtr const &range, HdResourceRegistry *resourceRegistry)=0
Execute computation.
An interface class for GPU computation.
virtual void GetBufferSpecs(HdBufferSpecVector *specs) const =0
Add the buffer spec for this computation into given bufferspec vector.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...