Skip to content

Introduction to Astra Engine

This section provides a high-level map of the Astra Engine's modular architecture and core philosophy. Each section links to detailed documentation on the module's role and API.

Table of Contents

  • Introduction - An overview of the Astra Engine and its core philosophy.
  • Application - Boot sequence and main loop coordination.
  • Engine - The ECS backbone for entities, components, and systems.
  • Window - OS window creation, graphics context, and input.
  • Streams - Data persistence and serialization framework.
  • Project - Configuration management and resource path resolution.
  • Renderer - Frame graph architecture and GPU resource management.
  • Physics - Rigid body dynamics and collision resolution via PhysX.
  • Editor - In-engine productivity tools built on ImGui.
  • AXSLC - Unified shader compiler for vertex and fragment stages.

Introduction

Astra is a modern game engine designed for high-performance rendering and interactive experiences. It features a modular architecture, a custom shader compiler (AXSLC), and an advanced render graph system for optimized GPU work.

Read the Introduction →


Application

Astra starts here. The Application singleton manages the main loop and ensures subsystems like the Window and Engine are ready before the first frame runs.

Read the Application Guide →


Engine

The Engine module implements a data-oriented ECS architecture. It manages entity lifetimes, component storage, and the execution order of systems.

Read the Engine Guide →


Window

The Window module abstracts OS-specific window management. It initializes the rendering context (OpenGL/Vulkan) and processes hardware input for both event-based and polling-based systems.

Read the Window Guide →


Streams

Streams provides a format-agnostic serialization framework. It handles the persistence of game data, configurations, and scenes, primarily using JSON.

Read the Streams Guide →


Project

A Project is the single source of truth for an application's configuration. It defines the asset root, the active system manifest, and resolves engine-relative resource paths.

Read the Project Guide →


Renderer

The Renderer uses a frame graph to schedule discrete rendering passes. It manages GPU resources, performs topological sorting of dependencies, and handles automatic pass culling.

Read the Renderer Guide →


Physics

Powered by NVIDIA PhysX, the Physics module provides rigid body simulation and collision resolution. It synchronizes physical actor poses directly with ECS Transform components.

Read the Physics Guide →


Editor

The Editor module provides an integrated suite of tools for scene editing and entity manipulation. It is built on ImGui and runs directly within the engine loop.

Read the Editor Guide →


AXSLC

AXSLC is a custom shader compiler that generates GLSL 4.5 code from a single unified source file. It includes a built-in interface system and per-stage uniform dead-code elimination.

Read the AXSLC Guide →