15#include "../../Utils/Math/Transform.h"
16#include "../../Utils/Math/Quaternion.h"
17#include "../../Camera/Camera.h"
18#include "../../Scene/Scene.h"
19#include "../Utils/Triangle2D.h"
20#include "../Utils/QuadTree.h"
21#include "../Utils/Node.h"
Base class for managing camera properties and transformations.
A mathematical construct representing a rotation in 3D space.
Represents an RGB color and provides methods for manipulation.
Provides static methods for rasterizing 3D scenes into 2D camera views.
static void Rasterize(Scene *scene, CameraBase *camera)
Rasterizes a 3D scene onto a 2D camera view.
static RGBColor CheckRasterPixel(Triangle2D **triangles, int numTriangles, Vector2D pixelRay)
Determines the color of a pixel by checking which triangle it intersects.
static RGBColor CheckRasterPixelAccel(Triangle2D **triangles, int numTriangles, Vector2D pixelRay)
Optimized version of CheckRasterPixel using acceleration structures.
static Quaternion rayDirection
Direction of the ray cast for rasterization.
Manages a collection of 3D objects and applies optional screen-space effects.
Represents a 2D triangle with support for UV mapping, depth, and intersection testing.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.