A dynamic material that creates a colorful, animated rainbow spiral effect.
float Update()
Updates and calculates the next value of the waveform.
Abstract base class for rendering materials.
Represents an RGB color and provides methods for manipulation.
Material * GetMaterial()
Retrieves the associated spiral material.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Computes the color at a given position in the material.
SpiralMaterial spiralMaterial
Spiral material configured with rainbow spectrum and scale parameters.
FunctionGenerator fGenMatBend
Function generator for animating spiral bending.
void Update(float ratio)
Updates the material animation based on the time ratio.
void SetPositionOffset(Vector2D positionOffset)
Sets the position offset for the spiral.
void SetRotationAngle(float rotationAngle)
Sets the rotation angle for the spiral.
void SetBend(float bend)
Sets the bending factor of the spiral arms.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Retrieves the color for a given position.
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.