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

#include <Boot.h>

Inheritance diagram for Boot:
Collaboration diagram for Boot:

Public Member Functions

 Boot ()
 
void Initialize () override
 Initializes the project.
 
void Update (float ratio)
 Updates the project state based on the given ratio.
 
- 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
 
HUB75Controller controller = HUB75Controller(&cameras, 100, 100)
 
LightMaterial< 6 > lights = LightMaterial<6>()
 
ProtoDRV1 protoDRV1O
 
Init initO
 
RunningKernel runningKernelO
 
LoadingModules loadingModulesO
 
DoneBoot doneO
 
Cursor cursorO
 
Plane planeO
 
ObjectDeformer planeDeformer = ObjectDeformer(planeO.GetObject())
 
const int frames = 1500
 
FunctionGenerator square = FunctionGenerator(FunctionGenerator::Square, 0.0f, 1.0f, 0.5f)
 
SimpleMaterial white = SimpleMaterial(RGBColor(255,255,255))
 
SimpleMaterial blue = SimpleMaterial(RGBColor(0,75,255))
 
SimpleMaterial black = SimpleMaterial(RGBColor(0,0,0))
 
CombineMaterial< 2 > matCombine
 
CombineMaterial< 2 > textColor
 

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

Definition at line 24 of file Boot.h.

Constructor & Destructor Documentation

◆ Boot()

Member Function Documentation

◆ Initialize()

void Initialize ( )
inlineoverridevirtual

Initializes the project.

This method is intended to be overridden by derived classes to define specific initialization logic for the project.

Implements Project.

Definition at line 79 of file Boot.h.

References controller, and HUB75Controller::Initialize().

◆ Update()

void Update ( float  ratio)
inlinevirtual

Updates the project state based on the given ratio.

This method is intended to be overridden by derived classes to define specific update logic for animations or state transitions.

Parameters
ratioA float representing the interpolation ratio for updates.

Implements Project.

Definition at line 83 of file Boot.h.

References Mathematics::Constrain(), Mathematics::CosineInterpolation(), cursorO, doneO, frames, LightMaterial< lightCount >::GetLights(), initO, Vector3D::LERP(), lights, loadingModulesO, Mathematics::Map(), matCombine, Light::MoveTo(), planeDeformer, planeO, protoDRV1O, runningKernelO, CombineMaterial< materialCount >::SetOpacity(), ObjectDeformer::SineWaveSurfaceDeform(), square, textColor, FunctionGenerator::Update(), and ObjectDeformer::ZAxis.

Member Data Documentation

◆ black

SimpleMaterial black = SimpleMaterial(RGBColor(0,0,0))
private

Definition at line 46 of file Boot.h.

Referenced by Boot().

◆ blue

SimpleMaterial blue = SimpleMaterial(RGBColor(0,75,255))
private

Definition at line 45 of file Boot.h.

Referenced by Boot().

◆ cameras

HUB75DeltaCameraManager cameras
private

Definition at line 26 of file Boot.h.

◆ controller

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

Definition at line 27 of file Boot.h.

Referenced by Initialize().

◆ cursorO

Cursor cursorO
private

Definition at line 36 of file Boot.h.

Referenced by Boot(), and Update().

◆ doneO

DoneBoot doneO
private

Definition at line 35 of file Boot.h.

Referenced by Boot(), and Update().

◆ frames

const int frames = 1500
private

Definition at line 40 of file Boot.h.

Referenced by Update().

◆ initO

Init initO
private

Definition at line 32 of file Boot.h.

Referenced by Boot(), and Update().

◆ lights

LightMaterial<6> lights = LightMaterial<6>()
private

Definition at line 29 of file Boot.h.

Referenced by Boot(), and Update().

◆ loadingModulesO

LoadingModules loadingModulesO
private

Definition at line 34 of file Boot.h.

Referenced by Boot(), and Update().

◆ matCombine

CombineMaterial<2> matCombine
private

Definition at line 48 of file Boot.h.

Referenced by Boot(), and Update().

◆ planeDeformer

ObjectDeformer planeDeformer = ObjectDeformer(planeO.GetObject())
private

Definition at line 39 of file Boot.h.

Referenced by Update().

◆ planeO

Plane planeO
private

Definition at line 37 of file Boot.h.

Referenced by Boot(), and Update().

◆ protoDRV1O

ProtoDRV1 protoDRV1O
private

Definition at line 31 of file Boot.h.

Referenced by Boot(), and Update().

◆ runningKernelO

RunningKernel runningKernelO
private

Definition at line 33 of file Boot.h.

Referenced by Boot(), and Update().

◆ square

Definition at line 42 of file Boot.h.

Referenced by Update().

◆ textColor

CombineMaterial<2> textColor
private

Definition at line 49 of file Boot.h.

Referenced by Boot(), and Update().

◆ white

SimpleMaterial white = SimpleMaterial(RGBColor(255,255,255))
private

Definition at line 44 of file Boot.h.

Referenced by Boot().


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