Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
Loading...
Searching...
No Matches
actor.hpp
Go to the documentation of this file.
1// This file is part of the Rendering Engine project.
2// Author: Alexander Obzherin <alexanderobzherin@gmail.com>
3// Copyright (c) 2025 Alexander Obzherin
4// Distributed under the terms of the zlib License. See LICENSE.md for details.
5
6#pragma once
7
9
11{
12class Scene;
13class Camera;
14
15class Actor
16{
17public:
18 /**
19 * @brief Constructs the Actor with a resource context.
20 * @param renderContext Rendering resource context (renderer, caches).
21 */
22 Actor(Scene& scene);
23
24 /// Virtual destructor.
25 virtual ~Actor() = default;
26
27 /**
28 * @brief Initializes render resource pointers (material, mesh, etc.).
29 */
30 virtual void Initialize();
31
32 /**
33 * @brief Updates logic (animation, movement, etc.) for this drawable.
34 * @param deltaTime Time step (seconds).
35 */
36 virtual void Update(float deltaTime);
37
38 virtual void Draw(const Camera& camera);
39
41
42 Actor(const Actor&) = delete;
43 Actor& operator=(const Actor&) = delete;
44
45protected:
48
49};
50
51} // namespace rendering_engine
RenderResourceContext GetRenderContext() const
Definition actor.cpp:27
virtual void Update(float deltaTime)
Updates logic (animation, movement, etc.) for this drawable.
Definition actor.cpp:19
virtual ~Actor()=default
Virtual destructor.
virtual void Initialize()
Initializes render resource pointers (material, mesh, etc.).
Definition actor.cpp:15
Actor(const Actor &)=delete
Actor(Scene &scene)
Constructs the Actor with a resource context.
Definition actor.cpp:8
RenderResourceContext mRenderContext
Definition actor.hpp:46
virtual void Draw(const Camera &camera)
Definition actor.cpp:23
Actor & operator=(const Actor &)=delete
Represents a 3D perspective camera with world transform and projection settings.
Definition camera.hpp:48
Base class representing a renderable scene.
Definition scene.hpp:36
Aggregates pointers to global rendering resource managers.