24 #ifndef PXR_IMAGING_HD_COMPUTATION_H 25 #define PXR_IMAGING_HD_COMPUTATION_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/version.h" 30 #include "pxr/imaging/hd/bufferSpec.h" 31 #include "pxr/imaging/hd/perfLog.h" 36 PXR_NAMESPACE_OPEN_SCOPE
39 using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
41 using HdComputationSharedPtr = std::shared_ptr<class HdComputation>;
42 using HdComputationSharedPtrVector = std::vector<HdComputationSharedPtr>;
60 HdBufferArrayRangeSharedPtr
const &range,
83 PXR_NAMESPACE_CLOSE_SCOPE
85 #endif // PXR_IMAGING_HD_COMPUTATION_H virtual int GetNumOutputElements() const =0
Returns the size of its destination buffer (located by range argument of Execute()).
bool IsValid()
This function is needed as HdComputation shares a templatized interface with HdBufferSource.
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.