ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
Engine.h
Go to the documentation of this file.
1/**
2 * @file Engine.h
3 * @brief Declares the RenderingEngine class for rendering and display operations.
4 *
5 * This file defines the RenderingEngine class, which provides static methods
6 * for rasterizing scenes and managing display operations, such as rendering a white fill.
7 *
8 * @date 22/12/2024
9 * @author Coela Can't
10 */
11
12#pragma once
13
14#include "../Camera/CameraManager/CameraManager.h" // Include for camera management.
15#include "../Scene/Scene.h" // Include for scene management.
16#include "../Renderer/Rasterizer/Rasterizer.h" // Include for rasterization operations.
17#include "../Renderer/DisplayTest/DisplayTest.h" // Include for display test utilities.
18
19/**
20 * @class RenderingEngine
21 * @brief Provides static methods for rendering and display operations.
22 *
23 * The RenderingEngine class offers functionality for rasterizing scenes using cameras
24 * and managing display operations such as filling the screen with a white color.
25 */
27public:
28 /**
29 * @brief Rasterizes the given scene using the cameras managed by the CameraManager.
30 *
31 * This method iterates through all cameras in the CameraManager and rasterizes the scene
32 * for each camera. If the scene includes a post-processing effect, it applies the effect
33 * to the corresponding pixel group.
34 *
35 * @param scene Pointer to the Scene to be rasterized.
36 * @param cameraManager Pointer to the CameraManager managing the cameras.
37 */
38 static void Rasterize(Scene* scene, CameraManager* cameraManager);
39
40 /**
41 * @brief Fills the display with white for all cameras in the CameraManager.
42 *
43 * This method iterates through all cameras in the CameraManager and fills their displays
44 * with white using the DisplayTest utility.
45 *
46 * @param cameraManager Pointer to the CameraManager managing the cameras.
47 */
48 static void DisplayWhite(CameraManager* cameraManager);
49};
Manages multiple CameraBase objects.
Provides static methods for rendering and display operations.
Definition Engine.h:26
static void Rasterize(Scene *scene, CameraManager *cameraManager)
Rasterizes the given scene using the cameras managed by the CameraManager.
Definition Engine.cpp:3
static void DisplayWhite(CameraManager *cameraManager)
Fills the display with white for all cameras in the CameraManager.
Definition Engine.cpp:13
Manages a collection of 3D objects and applies optional screen-space effects.
Definition Scene.h:25