A dynamic material for simulating TV static with various noise effects.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Calculates the resulting color by combining all materials.
float Update()
Updates and calculates the next value of the waveform.
void HueShift(float hueDeg)
Shifts the hue of the gradient by a specified degree.
void GradientShift(float ratio)
Shifts the gradient by a ratio.
void SetGradientPeriod(float gradientPeriod)
Sets the gradient's period of repetition.
Abstract base class for rendering materials.
static T Map(T value, T inLow, T inMax, T outMin, T outMax)
Maps a value from one range to another.
Represents an RGB color and provides methods for manipulation.
void SetScale(Vector3D noiseScale)
Sets the scale for noise generation.
void SetZPosition(float zPosition)
Sets the Z-position for 3D noise generation.
CombineMaterial< 3 > combineScanline
Material combiner for layering effects.
GradientMaterial< 10 > scanlineGradient
Scanline gradient material.
SimplexNoise< 5 > sNoise
Simplex noise generator for TV static.
Material * GetMaterial()
Retrieves the combined material representing the TV static effect.
float simplexNoiseDepth
Depth value for simplex noise animation.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Computes the color at a given position in the material.
FunctionGenerator colorWiggle1
Function for animating color wiggles.
FunctionGenerator colorWiggle2
Secondary function for color variation.
void Update(float ratio)
Updates the animation parameters for the TV static effect.
GradientMaterial< 5 > gNoiseMat
Gradient for simplex noise material.
ColorTest colorTest
Color test overlay.
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.