Avara3D 0.2.0
C++ API reference
DirectionalLight.h
1//
2// DirectionalLight.h
3// avara3d
4//
5// Created by Morgan Davis on 7/31/2024.
6// Copyright © 2026 Morgan K Davis. All rights reserved.
7//
8
9#ifndef AVARA3D_VISUAL_LIGHT_DIRECTIONALLIGHT_H
10#define AVARA3D_VISUAL_LIGHT_DIRECTIONALLIGHT_H
11
12#include <string>
13
14#include "a3d/Color.h"
15#include "a3d/visual/light/Light.h"
16
17namespace a3d {
18
19 class Node;
20
26 class DirectionalLight : public Light {
27
28 public:
29 // [Public Lifecycle Functions]
30
33
35 explicit DirectionalLight(const std::string& name);
36
38 explicit DirectionalLight(const Color& color);
39
41 DirectionalLight(const std::string& name, const Color& color);
42
43 DirectionalLight(const DirectionalLight&) = default;
44 DirectionalLight& operator=(const DirectionalLight&) = default;
45
46 DirectionalLight(DirectionalLight&&) noexcept = default;
47 DirectionalLight& operator=(DirectionalLight&&) noexcept = default;
48 };
49
50}
51
52#endif // AVARA3D_VISUAL_LIGHT_DIRECTIONALLIGHT_H
Represents a normalized RGBA color.
Definition: Color.h:27
Infinitely distant light with uniform direction and no distance attenuation.
DirectionalLight(const std::string &name)
Creates a named white DirectionalLight.
DirectionalLight(const Color &color)
Creates an unnamed DirectionalLight with color.
DirectionalLight()
Creates an unnamed white DirectionalLight.
DirectionalLight(const std::string &name, const Color &color)
Creates a DirectionalLight with name and color.
Base class for light sources attached to Scene Nodes.
Definition: Light.h:32
const std::optional< std::string > & name() const
Returns the optional light name.
const Color & color() const
Returns the light color.