v0.3.0 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
19class Node;
20
26class DirectionalLight : public Light {
27
28public:
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 // [Public Member Functions]
50
52 float intensity() const;
53
55 void intensity(float intensity);
56
57private:
58 // [Private Member Variables]
59
60 float _intensity;
61};
62
63} // namespace a3d
64
65#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.
float intensity() const
Returns the light intensity multiplier.
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.