My Project
Loading...
Searching...
No Matches
Engine Namespace Reference

Classes

class  IAudioSystem
 Interface representing the core audio system of the engine. Defines the API used to initialize the audio backend, manage sound resources, and control audio playback. Implementations can use different audio libraries (MiniAudio, FMOD, Wwise, etc.). More...
class  MiniAudioSystem
 Audio system implementation using MiniAudio. Handles loading, playing, and managing audio resources in the engine. Implements the IAudioSystem interface. More...
class  Application
 Main engine application class. Manages the window and Direct3D11 context. More...
class  CoreEngine
 Core class of the engine. Responsible for initializing systems, running the main loop, and shutting down the engine properly. More...
struct  MatrixBuffer
 Constant buffer used to store camera matrices. Sent to the GPU each frame. More...
struct  ObjectColorBuffer
 Constant buffer used to send object color data to the pixel shader. More...
class  D3D11
 Wrapper class responsible for initializing and managing Direct3D 11. Handles device creation, swap chain, rendering targets, and draw calls. More...
class  Component
 Base class for all components in the engine. Components define behavior that can be attached to a GameObject. More...
class  AssetComponent
 Component responsible for attaching an asset to an entity. Can store meshes, textures, or any asset derived from Asset. More...
class  MeshComponent
 Component responsible for storing and managing a mesh for an entity. Used by the rendering system to draw geometry. More...
class  RigidBodyComponent
 Component responsible for basic physics simulation. Handles velocity, forces, gravity, and position updates. More...
class  TextureComponent
 Component responsible for storing a texture associated with a GameObject. This texture can later be used by the rendering system. More...
class  GameObject
 Represents an object in the scene. A GameObject can contain multiple components and be part of a hierarchy. More...
class  Transform
 Transform component responsible for storing spatial data of a GameObject. Defines position, rotation, and scale in 3D space. Every GameObject should have exactly one Transform. More...
class  InputManager
 Handles keyboard and mouse input. Tracks key states, mouse buttons, and mouse movement. More...
class  LoggerManager
 Singleton class responsible for logging messages to console and file. Supports Info, Warning, and Error log types. More...
class  Scene
 Represents a scene containing multiple GameObjects. Manages creation, destruction, and updating of root GameObjects. More...
class  TimeManager
 Manages time tracking for the engine. Computes delta time between frames and the current FPS. More...
struct  IWindow
 Abstract interface for a window in the engine. Allows the engine to interact with different window implementations. More...
class  WindowOpener
 Concrete implementation of IWindow using GLFW. Manages window creation, events, and access to native handles. More...

Enumerations

enum class  InputState { Up , Pressed , Held , Released }
 Represents the current state of a key or mouse button. More...
enum class  MouseButton { Left , Right , Middle , COUNT }
 Represents mouse buttons that can be tracked. More...
enum class  Scancode : int {
  KEY_W = GLFW_KEY_W , KEY_A = GLFW_KEY_A , KEY_S = GLFW_KEY_S , KEY_D = GLFW_KEY_D ,
  SPACE = GLFW_KEY_SPACE , ESCAPE = GLFW_KEY_ESCAPE , LSHIFT = GLFW_KEY_LEFT_SHIFT , RSHIFT = GLFW_KEY_RIGHT_SHIFT ,
  LCTRL = GLFW_KEY_LEFT_CONTROL , RCTRL = GLFW_KEY_RIGHT_CONTROL , NUM_0 = GLFW_KEY_0 , NUM_1 = GLFW_KEY_1 ,
  NUM_2 = GLFW_KEY_2 , NUM_3 = GLFW_KEY_3 , NUM_4 = GLFW_KEY_4 , NUM_5 = GLFW_KEY_5 ,
  NUM_6 = GLFW_KEY_6 , NUM_7 = GLFW_KEY_7 , NUM_8 = GLFW_KEY_8 , NUM_9 = GLFW_KEY_9 ,
  F1 = GLFW_KEY_F1 , F2 = GLFW_KEY_F2 , F3 = GLFW_KEY_F3 , F4 = GLFW_KEY_F4 ,
  F5 = GLFW_KEY_F5 , F12 = GLFW_KEY_F12 , UP = GLFW_KEY_UP , DOWN = GLFW_KEY_DOWN ,
  LEFT = GLFW_KEY_LEFT , RIGHT = GLFW_KEY_RIGHT , UNKNOWN = GLFW_KEY_UNKNOWN
}
 Represents keyboard scancodes using GLFW key codes. Scancodes are based on physical key positions, independent of keyboard layout (AZERTY vs QWERTY). More...

Enumeration Type Documentation

◆ InputState

enum class Engine::InputState
strong

Represents the current state of a key or mouse button.

Enumerator
Up 
Pressed 
Held 
Released 

◆ MouseButton

enum class Engine::MouseButton
strong

Represents mouse buttons that can be tracked.

Enumerator
Left 
Right 
Middle 
COUNT 

◆ Scancode

enum class Engine::Scancode : int
strong

Represents keyboard scancodes using GLFW key codes. Scancodes are based on physical key positions, independent of keyboard layout (AZERTY vs QWERTY).

Enumerator
KEY_W 
KEY_A 
KEY_S 
KEY_D 
SPACE 
ESCAPE 
LSHIFT 
RSHIFT 
LCTRL 
RCTRL 
NUM_0 
NUM_1 
NUM_2 
NUM_3 
NUM_4 
NUM_5 
NUM_6 
NUM_7 
NUM_8 
NUM_9 
F1 
F2 
F3 
F4 
F5 
F12 
UP 
DOWN 
LEFT 
RIGHT 
UNKNOWN