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/hdSt/computation.h"
33PXR_NAMESPACE_OPEN_SCOPE
38using HdSt_DomeLightComputationGPUSharedPtr =
39 std::shared_ptr<class HdSt_DomeLightComputationGPU>;
40using HdStSimpleLightingShaderPtr =
41 std::weak_ptr<class HdStSimpleLightingShader>;
60 HdSt_DomeLightComputationGPU(
65 HdStSimpleLightingShaderPtr
const &lightingShader,
67 unsigned int numLevels = 1,
69 unsigned int level = 0,
70 float roughness = -1.0);
76 void Execute(HdBufferArrayRangeSharedPtr
const &range,
86 HdStSimpleLightingShaderPtr
const _lightingShader;
87 const unsigned int _numLevels;
88 const unsigned int _level;
89 const float _roughness;
93PXR_NAMESPACE_CLOSE_SCOPE
A central registry for resources.
An interface class for GPU computation.
virtual void Execute(HdBufferArrayRangeSharedPtr const &range, HdResourceRegistry *resourceRegistry)=0
Execute computation.
virtual void GetBufferSpecs(HdBufferSpecVector *specs) const =0
Add the buffer spec for this computation into given bufferspec vector.
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.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...