Blender  V3.3
hydra/light.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2022 NVIDIA Corporation
3  * Copyright 2022 Blender Foundation */
4 
5 #pragma once
6 
7 #include "hydra/config.h"
8 
9 #include <pxr/imaging/hd/light.h>
10 
12 
13 class HdCyclesLight final : public PXR_NS::HdLight {
14  public:
15  HdCyclesLight(const PXR_NS::SdfPath &sprimId, const PXR_NS::TfToken &lightType);
16  ~HdCyclesLight() override;
17 
18  PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override;
19 
20  void Sync(PXR_NS::HdSceneDelegate *sceneDelegate,
21  PXR_NS::HdRenderParam *renderParam,
22  PXR_NS::HdDirtyBits *dirtyBits) override;
23 
24  void Finalize(PXR_NS::HdRenderParam *renderParam) override;
25 
26  private:
27  void Initialize(PXR_NS::HdRenderParam *renderParam);
28 
29  void PopulateShaderGraph(PXR_NS::HdSceneDelegate *sceneDelegate);
30 
31  CCL_NS::Light *_light = nullptr;
32  PXR_NS::TfToken _lightType;
33 };
34 
#define final(a, b, c)
Definition: BLI_hash.h:21
struct Light Light
void Finalize(PXR_NS::HdRenderParam *renderParam) override
void Sync(PXR_NS::HdSceneDelegate *sceneDelegate, PXR_NS::HdRenderParam *renderParam, PXR_NS::HdDirtyBits *dirtyBits) override
Definition: hydra/light.cpp:41
~HdCyclesLight() override
Definition: hydra/light.cpp:32
HdCyclesLight(const PXR_NS::SdfPath &sprimId, const PXR_NS::TfToken &lightType)
Definition: hydra/light.cpp:27
PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override
Definition: hydra/light.cpp:36
#define HDCYCLES_NAMESPACE_CLOSE_SCOPE
Definition: hydra/config.h:17