7#ifndef PXR_IMAGING_HD_ST_DOME_LIGHT_COMPUTATIONS_H
8#define PXR_IMAGING_HD_ST_DOME_LIGHT_COMPUTATIONS_H
11#include "pxr/imaging/hdSt/api.h"
12#include "pxr/imaging/hdSt/computation.h"
16PXR_NAMESPACE_OPEN_SCOPE
21using HdSt_DomeLightComputationGPUSharedPtr =
22 std::shared_ptr<class HdSt_DomeLightComputationGPU>;
23using HdStSimpleLightingShaderPtr =
24 std::weak_ptr<class HdStSimpleLightingShader>;
43 HdSt_DomeLightComputationGPU(
48 HdStSimpleLightingShaderPtr
const &lightingShader,
50 unsigned int numLevels = 1,
52 unsigned int level = 0,
53 float roughness = -1.0);
59 void Execute(HdBufferArrayRangeSharedPtr
const &range,
69 HdStSimpleLightingShaderPtr
const _lightingShader;
70 const unsigned int _numLevels;
71 const unsigned int _level;
72 const float _roughness;
76PXR_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...