14#include "../Material.h"
15#include "../../../Utils/Math/Mathematics.h"
16#include "../../../Utils/Math/Vector2D.h"
17#include "../../../Utils/Math/Rotation.h"
Abstract base class for rendering materials.
Represents an RGB color and provides methods for manipulation.
Generates a spiral pattern with configurable properties.
void SetPositionOffset(Vector2D positionOffset)
Sets the position offset for the spiral.
void SetRotationAngle(float rotationAngle)
Sets the rotation angle for the spiral.
RGBColor * rgbColors
Array of colors for the spiral.
Vector2D positionOffset
Offset for the position of the spiral.
void HueShift(float hueDeg)
Shifts the hue of the spiral colors.
void SetBend(float bend)
Sets the bending factor of the spiral arms.
uint8_t colorCount
Number of colors in the spiral.
float rotationAngle
Angle to rotate the spiral pattern.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Retrieves the color for a given position.
void SetRotationOffset(Vector2D rotationOffset)
Sets the rotation offset for the spiral.
RGBColor * baseRGBColors
Backup array for the original colors.
void SetWidth(float width)
Sets the width of the spiral arms.
Vector2D rotationOffset
Point around which the spiral rotates.
~SpiralMaterial()
Destructor for SpiralMaterial.
float width
Width of the spiral arms.
float bend
Degree of bending for the spiral arms.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.