15#include "../../Utils/RGBColor.h"
16#include "../../Utils/Math/Vector3D.h"
Abstract base class for rendering materials.
Method
Defines blending methods for combining colors.
@ Bypass
Passes through without blending.
@ Lighten
Chooses the lighter color.
@ Add
Adds colors together.
@ EfficientMask
Efficient masking method.
@ Replace
Replaces the base color.
@ Overlay
Overlay blending.
@ Darken
Chooses the darker color.
@ SoftLight
Soft light blending.
@ Base
The base material color.
@ Multiply
Multiplies colors.
@ Subtract
Subtracts colors.
virtual RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw)=0
Pure virtual function to calculate color based on surface parameters.
virtual ~Material()=default
Virtual destructor for proper cleanup in derived classes.
Represents an RGB color and provides methods for manipulation.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.