24 #ifndef PXR_IMAGING_HD_ST_DOME_LIGHT_COMPUTATIONS_H
25 #define PXR_IMAGING_HD_ST_DOME_LIGHT_COMPUTATIONS_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hd/computation.h"
31 PXR_NAMESPACE_OPEN_SCOPE
36 using HdSt_DomeLightComputationGPUSharedPtr =
37 std::shared_ptr<class HdSt_DomeLightComputationGPU>;
38 using HdStSimpleLightingShaderPtr =
39 std::weak_ptr<class HdStSimpleLightingShader>;
57 HdSt_DomeLightComputationGPU(
62 HdStSimpleLightingShaderPtr
const &lightingShader,
64 unsigned int numLevels = 1,
66 unsigned int level = 0,
67 float roughness = -1.0);
73 void Execute(HdBufferArrayRangeSharedPtr
const &range,
83 HdStSimpleLightingShaderPtr
const _lightingShader;
84 const unsigned int _numLevels;
85 const unsigned int _level;
86 const float _roughness;
90 PXR_NAMESPACE_CLOSE_SCOPE
92 #endif // PXR_IMAGING_HD_ST_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 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.