14#include "../Material.h"
15#include "../../../Utils/Math/Vector2D.h"
16#include "../../../Renderer/Lights/Light.h"
28template<
size_t lightCount>
A material class that incorporates multiple light sources for rendering.
LightMaterial()
Constructs a LightMaterial object with the specified number of lights.
Light * GetLights()
Retrieves the array of lights.
Light lights[lightCount]
Array of lights used for lighting calculations.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Calculates the RGB color at a specific position using the light sources.
uint8_t GetLightCount()
Retrieves the number of lights in the material.
Represents a light source with position, intensity, and falloff properties.
Abstract base class for rendering materials.
Represents an RGB color and provides methods for manipulation.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.