![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
#include <Boot.h>
Public Member Functions | |
Boot () | |
void | Initialize () override |
Initializes the project. | |
void | Update (float ratio) |
Updates 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. | |
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 | |
![]() | |
void | RenderStartTimer () |
Starts the render timer for measuring render performance. | |
void | RenderEndTimer () |
Stops the render timer and records the elapsed time. | |
![]() | |
CameraManager * | cameras |
Pointer to the CameraManager for managing cameras. | |
Controller * | controller |
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. | |
|
inline |
Definition at line 52 of file Boot.h.
References Material::Add, CombineMaterial< materialCount >::AddMaterial(), Scene::AddObject(), black, blue, cursorO, doneO, LightMaterial< lightCount >::GetLights(), initO, lights, loadingModulesO, matCombine, planeO, protoDRV1O, Material::Replace, runningKernelO, Project::scene, Light::Set(), textColor, and white.
|
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().
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.
ratio | A 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.
|
private |
|
private |
|
private |
|
private |
Definition at line 27 of file Boot.h.
Referenced by Initialize().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |