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