HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
extComputation.h
Go to the documentation of this file.
1 //
2 // Copyright 2018 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_EXT_COMPUTATION_H
8 #define PXR_IMAGING_HD_ST_EXT_COMPUTATION_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdSt/api.h"
13 #include "pxr/usd/sdf/path.h"
14 #include "pxr/base/vt/value.h"
15 
16 #include <vector>
17 
19 
20 class HdSceneDelegate;
21 using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
22 
23 /// \class HdStExtComputation
24 ///
25 /// Specialization of HdExtComputation which manages inputs as GPU resources.
26 ///
28 {
29 public:
30  /// Construct a new ExtComputation identified by id.
31  HDST_API
32  HdStExtComputation(SdfPath const &id);
33 
34  HDST_API
35  ~HdStExtComputation() override;
36 
37  HDST_API
38  void Sync(HdSceneDelegate *sceneDelegate,
39  HdRenderParam *renderParam,
40  HdDirtyBits *dirtyBits) override;
41 
42  HDST_API
43  void Finalize(HdRenderParam *renderParam) override;
44 
45  HDST_API
47  return _inputRange;
48  }
49 
50 private:
51  // No default construction or copying
52  HdStExtComputation() = delete;
53  HdStExtComputation(const HdStExtComputation &) = delete;
54  HdStExtComputation &operator =(const HdStExtComputation &) = delete;
55 
56  HdBufferArrayRangeSharedPtr _inputRange;
57 };
58 
60 
61 #endif // PXR_IMAGING_HD_ST_EXT_COMPUTATION_H
HDST_API HdBufferArrayRangeSharedPtr const & GetInputRange() const
uint32_t HdDirtyBits
Definition: types.h:143
HDST_API ~HdStExtComputation() override
Definition: path.h:273
HDST_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
HDST_API void Finalize(HdRenderParam *renderParam) override
#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