Skip to content

Latest commit

 

History

History
60 lines (50 loc) · 2.14 KB

README.md

File metadata and controls

60 lines (50 loc) · 2.14 KB

Atmospheric Engine

Atmospheric Engine is a cross-platform 3D game engine developed in C++. The project is a labor of love, acting as my stepping stone to gain a deeper understanding of graphics programming concepts and practices.

Demo

Time Rewinding

Time Rewinding Demo

Heightmap Terrain w/ Dynamic Tessellation

Time Rewinding Demo

Features

  • PBR texturing, point/directional shadows, post-processing effects
  • Heightmap terrain with collision and shader-based dynamic tessellation
  • Custom key binding system
  • Immediate-mode debug UIs for engine subsystems
  • Simple job system implementation

Platforms

  • Apple Silicon
  • Apple Intel (unsure?)
  • Windows (broken)
  • Linux (planned)

⚠️ WARNING This project is a work in progress and may be unstable at this stage.


Building

Follow the steps below to build the engine:

  1. Install prerequsites:
  1. Clone this repository
git clone --recurse-submodules https://github.com/painfulexistence/AtmosphericEngine.git
  1. Setup Vcpkg
cd AtmosphericEngine
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
  1. Build the project with CMake
cmake -S . -B build
cmake --build build

Usage

The engine includes four example projects to help you get started. Please note that the API is still evolving and may change in the future. To get started, you can check out the HelloWorld example.

demo_helloworld

Examples: