HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
copyComputation.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HD_ST_COPY_COMPUTATION_H
8 #define PXR_IMAGING_HD_ST_COPY_COMPUTATION_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdSt/api.h"
13 
14 #include "pxr/base/tf/token.h"
15 
17 
18 
19 /// \class HdStCopyComputationGPU
20 ///
21 /// A GPU computation which transfers a vbo range specified by src and name to
22 /// the given range.
23 ///
25 {
26 public:
27  HDST_API
29  TfToken const &name);
30 
31  HDST_API
33  HdResourceRegistry *resourceRegistry) override;
34 
35  HDST_API
36  int GetNumOutputElements() const override;
37 
38  HDST_API
39  void GetBufferSpecs(HdBufferSpecVector *specs) const override;
40 
41 private:
43  TfToken _name;
44 };
45 
46 
48 
49 #endif // HDST_COMPUTATION_H
GLenum GLint * range
Definition: glcorearb.h:1925
HDST_API HdStCopyComputationGPU(HdBufferArrayRangeSharedPtr const &src, TfToken const &name)
HDST_API void Execute(HdBufferArrayRangeSharedPtr const &range, HdResourceRegistry *resourceRegistry) override
Execute computation.
Definition: token.h:70
HDST_API int GetNumOutputElements() const override
GLuint const GLchar * name
Definition: glcorearb.h:786
std::vector< struct HdBufferSpec > HdBufferSpecVector
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define HDST_API
Definition: api.h:23
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
std::shared_ptr< HdBufferArrayRange > HdBufferArrayRangeSharedPtr
Definition: bufferArray.h:27
HDST_API void GetBufferSpecs(HdBufferSpecVector *specs) const override
GLenum src
Definition: glcorearb.h:1793