4 : cameras(cameras), controller(controller), scene(numObjects) {
63 Serial.print(
"Free memory ");
67 Serial.print(
"FPS: ");
69 Serial.print(
", Animated in ");
72 Serial.print(
"s, Rendered in ");
75 Serial.print(
"s, Displayed in ");
Declares the Project class for managing animations, rendering, and display operations.
Manages multiple CameraBase objects.
Base class for managing brightness and display operations of lighting controllers.
virtual void Display()=0
Updates and displays content on the lighting system.
static float FreeMem()
Calculates the available free memory in the system.
void RenderEndTimer()
Stops the render timer and records the elapsed time.
float GetAnimationTime()
Retrieves the time spent on animations.
void Animate(float ratio)
Animates the project state based on the given ratio.
Project(CameraManager *cameras, Controller *controller, uint8_t numObjects)
Constructs a Project with specified camera manager and controller.
Scene scene
The Scene object representing the rendered environment.
float GetRenderTime()
Retrieves the time spent on rendering.
void Render()
Renders the scene.
long previousDisplayTime
Time of the previous display frame in microseconds.
long previousRenderTime
Time of the previous render frame in microseconds.
void Display()
Updates the display with the rendered content.
void PrintStats()
Prints performance statistics such as frame rate and operation times.
void RenderStartTimer()
Starts the render timer for measuring render performance.
long previousAnimationTime
Time of the previous animation frame in microseconds.
float GetFrameRate()
Retrieves the current frame rate.
CameraManager * cameras
Pointer to the CameraManager for managing cameras.
Controller * controller
Pointer to the Controller for controlling the display.
virtual void Update(float ratio)=0
Updates the project state based on the given ratio.
float animationTime
Time spent on animation in milliseconds.
float renderTime
Time spent on rendering in milliseconds.
float GetDisplayTime()
Retrieves the time spent on display operations.
float displayTime
Time spent on display in milliseconds.
RunningAverageFilter< 50 > avgFPS
Running average filter for frame rate calculation.
static void Rasterize(Scene *scene, CameraManager *cameraManager)
Rasterizes the given scene using the cameras managed by the CameraManager.
float Filter(float value)
Filters the input value using the running average.