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

A project class to validate the rendering engine functionality. More...

#include <VerifyEngine.h>

Inheritance diagram for VerifyEngine:
Collaboration diagram for VerifyEngine:

Public Member Functions

 VerifyEngine ()
 Constructs the VerifyEngine project.
 
void Initialize () override
 Initializes the controller for the project.
 
void Update (float ratio) override
 Updates the project state.
 
- Public Member Functions inherited from Project
 Project (CameraManager *cameras, Controller *controller, uint8_t numObjects)
 Constructs a Project with specified camera manager and controller.
 
float GetAnimationTime ()
 Retrieves the time spent on animations.
 
float GetRenderTime ()
 Retrieves the time spent on rendering.
 
float GetDisplayTime ()
 Retrieves the time spent on display operations.
 
float GetFrameRate ()
 Retrieves the current frame rate.
 
void Animate (float ratio)
 Animates the project state based on the given ratio.
 
void Render ()
 Renders the scene.
 
void Display ()
 Updates the display with the rendered content.
 
void PrintStats ()
 Prints performance statistics such as frame rate and operation times.
 

Private Attributes

HUB75DeltaCameraManager cameras
 Camera manager for HUB75 Delta displays.
 
HUB75Controller controller = HUB75Controller(&cameras, 50, 50)
 Controller for managing HUB75 displays.
 
Background background
 Background object for the scene.
 
DeltaDisplayBackground deltaDisplayBackground
 Delta display background object for the scene.
 
RainbowSpiral material
 Animated material applied to objects.
 

Additional Inherited Members

- Protected Member Functions inherited from Project
void RenderStartTimer ()
 Starts the render timer for measuring render performance.
 
void RenderEndTimer ()
 Stops the render timer and records the elapsed time.
 
- Protected Attributes inherited from Project
CameraManagercameras
 Pointer to the CameraManager for managing cameras.
 
Controllercontroller
 Pointer to the Controller for controlling the display.
 
Scene scene
 The Scene object representing the rendered environment.
 
RunningAverageFilter< 50 > avgFPS = RunningAverageFilter<50>(0.05f)
 Running average filter for frame rate calculation.
 
long previousAnimationTime = 0
 Time of the previous animation frame in microseconds.
 
long previousRenderTime = 0
 Time of the previous render frame in microseconds.
 
long previousDisplayTime = 0
 Time of the previous display frame in microseconds.
 
float fade = 0.0f
 Fade parameter for animations.
 
float animationTime = 0.0f
 Time spent on animation in milliseconds.
 
float renderTime = 0.0f
 Time spent on rendering in milliseconds.
 
float displayTime = 0.0f
 Time spent on display in milliseconds.
 

Detailed Description

A project class to validate the rendering engine functionality.

The VerifyEngine class is a test project that integrates a background model, a Delta display background model, and an animated material for verifying the engine's rendering and update capabilities.

Definition at line 31 of file VerifyEngine.h.

Constructor & Destructor Documentation

◆ VerifyEngine()

VerifyEngine ( )
inline

Constructs the VerifyEngine project.

Initializes the camera manager, controller, scene objects, and applies the animated material.

Definition at line 47 of file VerifyEngine.h.

References Scene::AddObject(), background, deltaDisplayBackground, material, and Project::scene.

Member Function Documentation

◆ Initialize()

void Initialize ( )
inlineoverridevirtual

Initializes the controller for the project.

Implements Project.

Definition at line 58 of file VerifyEngine.h.

References controller, and HUB75Controller::Initialize().

◆ Update()

void Update ( float  ratio)
inlineoverridevirtual

Updates the project state.

Parameters
ratioThe time ratio for updates.

Implements Project.

Definition at line 67 of file VerifyEngine.h.

References material, and RainbowSpiral::Update().

Member Data Documentation

◆ background

Background background
private

Background object for the scene.

Definition at line 36 of file VerifyEngine.h.

Referenced by VerifyEngine().

◆ cameras

HUB75DeltaCameraManager cameras
private

Camera manager for HUB75 Delta displays.

Definition at line 33 of file VerifyEngine.h.

◆ controller

HUB75Controller controller = HUB75Controller(&cameras, 50, 50)
private

Controller for managing HUB75 displays.

Definition at line 34 of file VerifyEngine.h.

Referenced by Initialize().

◆ deltaDisplayBackground

DeltaDisplayBackground deltaDisplayBackground
private

Delta display background object for the scene.

Definition at line 37 of file VerifyEngine.h.

Referenced by VerifyEngine().

◆ material

RainbowSpiral material
private

Animated material applied to objects.

Definition at line 39 of file VerifyEngine.h.

Referenced by Update(), and VerifyEngine().


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