Overview
Atlas Engine follows a modular architecture with specialized subsystems that work together to provide a complete game development framework. The engine is composed of several independent libraries, each responsible for a specific domain.Core Modules
Atlas Engine consists of six primary modules:Atlas
Main renderer handling graphics, input, window management, and scene coordination
Opal
Low-level rendering abstraction layer supporting OpenGL, Vulkan, and Metal backends
Bezel
Physics engine built on Jolt Physics (v5.5.0) for rigid body dynamics and collision detection
Finewave
Audio engine for 3D spatial audio playback and processing using OpenAL
Aurora
Procedural terrain generation and rendering system
Hydra
Environmental effects including atmosphere simulation and fluid rendering
Backend Support
Atlas Engine supports multiple rendering backends through the Opal abstraction layer:Automatic Backend Selection: The engine automatically selects Metal on macOS and Vulkan on other platforms when set to AUTO mode.
Rendering Pipeline
The engine supports both forward and deferred rendering pipelines:Deferred Rendering
Forward Rendering
Component Architecture
Atlas uses an Entity-Component System (ECS) approach where game objects can have components attached:Memory Management
The engine uses modern C++ smart pointers for automatic memory management:std::shared_ptr<T>for shared ownership (e.g., render targets, pipelines)std::unique_ptr<T>for exclusive ownership- Raw pointers for non-owning references (scene objects, lights)
Build System
The engine uses CMake with the following structure:Shader Management
Shaders are compiled and embedded into the engine at build time:Version Information
Next Steps
Window Management
Learn how to create and configure windows
Scene Management
Understand scenes and rendering loops
Objects & Components
Work with game objects and components
API Reference
Explore the complete API documentation