8#include "../Objects/Background.h"
9#include "../Render/Scene.h"
10#include "../Signals/FunctionGenerator.h"
12#include "../Materials/Animated/RainbowNoise.h"
13#include "../Materials/Animated/RainbowNoise2.h"
14#include "../Materials/Animated/RainbowSpiral.h"
15#include "../Materials/CombineMaterial.h"
16#include "../Materials/Clock.h"
18#include "../Materials/MaterialMask.h"
19#include "../Shapes/Circle.h"
20#include "../Shapes/Rectangle.h"
22#include "../Sensors/APDS9960.h"
23#include "../Filter/RunningAverageFilter.h"
26 return Teensy3Clock.get();
131 clock.
SetDate(day(), month(), year() - 2000, weekday());
Declares the EasyEaseAnimator template class for advanced animation easing.
Declares the KeyFrameTrack template class for managing keyframe-based animations.
A class for managing the Adafruit APDS9960 sensor.
static uint16_t GetBrightness()
Retrieves the current brightness value.
static bool Initialize(uint8_t threshold)
Initializes the APDS9960 sensor.
FunctionGenerator fGenMatHue
SimpleMaterial greenMaterial
FunctionGenerator fGenMatYMove
SimpleMaterial pinkMaterial
void Initialize() override
SimpleMaterial redMaterial
RunningAverageFilter< 25 > rAF
RainbowSpiral rainbowSpiral
SimpleMaterial blackMaterial
SimpleMaterial blueMaterial
SimpleMaterial yellowMaterial
void ChangeInterpolationMethods()
FunctionGenerator fGenMatPos
FunctionGenerator fGenScale
CombineMaterial< 4 > material
RainbowNoise2 rainbowNoise2
FunctionGenerator fGenRotation
FunctionGenerator fGenMatFade
SimpleMaterial orangeMaterial
void FadeIn(float stepRatio) override
void FadeOut(float stepRatio) override
RainbowNoise rainbowNoise
FunctionGenerator fGenMatXMove
SimpleMaterial purpleMaterial
void Update(float ratio) override
FunctionGenerator fGenMatRot
uint8_t GetAccentBrightness()
SimpleMaterial whiteMaterial
Renders a real-time clock and date as a material.
void SetRotation(float rotation)
Sets the rotation of the clock in the rendered scene.
void SetSize(Vector2D size)
Sets the size of the clock's rendered area.
void SetMaterial(Material *material)
Sets the material to be used for rendering the clock.
void SetTime(uint8_t hour, uint8_t minute, uint8_t second)
Sets the current time for the clock.
void SetDate(uint8_t day, uint8_t month, uint8_t year, uint8_t wDay)
Sets the current date for the clock.
void Update()
Updates the clock's time and date.
void SetPosition(Vector2D position)
Sets the position of the clock in the rendered scene.
Combines multiple materials with specified blending methods and opacities.
void SetOpacity(uint8_t index, float opacity)
Sets the opacity for a specific material.
void AddMaterial(Method method, Material *material, float opacity)
Adds a new material to the combination.
A class to generate various waveform functions with customizable parameters.
@ Triangle
Triangle waveform.
float Update()
Updates and calculates the next value of the waveform.
Combines two materials using a shape as a mask.
@ Replace
Replaces the base color.
@ Base
The base material color.
static T Map(T value, T inLow, T inMax, T outMin, T outMax)
Maps a value from one range to another.
static T Constrain(T value, T minimum, T maximum)
Constrains a value between minimum and maximum.
Represents a 3D object with geometry, material, and transformation data.
Represents an RGB color and provides methods for manipulation.
A dynamic material that creates a rainbow effect using simplex noise with black-to-color transitions.
void Update(float ratio)
Updates the material animation based on the time ratio.
A dynamic material that creates a rainbow effect using simplex noise.
void Update(float ratio)
Updates the material animation based on the time ratio.
A dynamic material creating a colorful rainbow spiral animation.
void Update(float ratio)
Updates the material animation based on the time ratio.
Represents a rectangle in 2D space.
Smooths data values using a weighted running average.
float Filter(float value)
Filters the input value using the running average.
A material that applies a single, solid RGB color to surfaces.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.