ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
AnimatedMaterial Class Referenceabstract

Base class for dynamically updating materials. More...

#include <AnimatedMaterial.h>

Inheritance diagram for AnimatedMaterial:
Collaboration diagram for AnimatedMaterial:

Public Member Functions

virtual void Update (float ratio)=0
 Updates the material's state based on a ratio.
 
virtual MaterialGetMaterial ()=0
 Retrieves the current material instance for rendering.
 
- Public Member Functions inherited from Material
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.
 

Additional Inherited Members

- Public Types inherited from Material
enum  Method {
  Base , Add , Subtract , Multiply ,
  Divide , Darken , Lighten , Screen ,
  Overlay , SoftLight , Replace , EfficientMask ,
  Bypass
}
 Defines blending methods for combining colors. More...
 

Detailed Description

Base class for dynamically updating materials.

The AnimatedMaterial class provides an interface for materials that require animation or time-based updates. Derived classes must implement the Update and GetMaterial methods.

Definition at line 24 of file AnimatedMaterial.h.

Member Function Documentation

◆ GetMaterial()

virtual Material * GetMaterial ( )
pure virtual

Retrieves the current material instance for rendering.

Returns
A pointer to the current Material instance.

Implemented in FlowNoise, HorizontalRainbow, RainbowNoise, RainbowNoise2, RainbowSpiral, and TVStatic.

◆ Update()

virtual void Update ( float  ratio)
pure virtual

Updates the material's state based on a ratio.

This function is called to update the material's state over time.

Parameters
ratioA float value (0.0 to 1.0) representing the progression of time.

Implemented in FlowNoise, HorizontalRainbow, RainbowNoise, RainbowNoise2, RainbowSpiral, and TVStatic.


The documentation for this class was generated from the following file: