24 #ifndef HDST_DOME_LIGHT_COMPUTATIONS_H
25 #define HDST_DOME_LIGHT_COMPUTATIONS_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hd/computation.h"
31 #include "pxr/base/tf/token.h"
33 PXR_NAMESPACE_OPEN_SCOPE
38 typedef boost::shared_ptr<class HdSt_DomeLightComputationGPU>
39 HdSt_DomeLightComputationGPUSharedPtr;
45 HdSt_DomeLightComputationGPU(
TfToken token,
46 unsigned int sourceId,
48 int width,
int height,
49 unsigned int numLevels,
51 float roughness=-1.0);
54 virtual void GetBufferSpecs(HdBufferSpecVector *specs)
const override {}
57 virtual void Execute(HdBufferArrayRangeSharedPtr
const &range,
68 unsigned int _sourceTextureId;
69 unsigned int _destTextureId;
73 unsigned int _numLevels;
82 PXR_NAMESPACE_CLOSE_SCOPE
84 #endif // HDST_DOME_LIGHT_COMPUTATIONS_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 of all GPU 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.