Aether3D Game Engine
Aether3D Game Engine v0.7.8 Documentation

Introduction

Aether3D is an open source game engine focusing on simplicity, robustness, portability and forward-thinking.

Features

Requirements

Only 64-bit project files/libraries are provided.

Compilation

Grab the sample asset archive and extract it into aether3d_build/Samples after building.

Windows/Visual Studio

You'll need Visual Studio 2017 or newer. Build Engine/VisualStudio_D3D12 or Engine/VisualStudio_Vulkan. This creates the library in aether3d_build. You can then build and run Samples/01_OpenWindow. The created executable will be placed in aether3d_build/Samples. You'll need OpenAL32.dll from OpenAL Soft either in your system directory or in the directory used to run samples/editor.

Windows/MinGW

Run mingw32-make in Engine/. Then run mingw32-make -f Makefile_Vulkan in Samples/01_OpenWindow. The created executable will be placed in aether3d_build/Samples.

macOS/Xcode

Metal: Build Engine/Aether3D_OSX_Metal. Make sure the built library is in aether3d_build. Then build and run Samples/MetalSampleOSX, making sure the running folder is set to aether3d_build/Samples.

macOS and GNU/Linux Command Line

Run Makefile_Vulkan (on Linux) in Engine. Then run the Makefile in Samples/01_OpenWindow. The created executable will be placed in aether3d_build/Samples. On GNU/Linux you need at least the following packages:

libopenal-dev libx11-xcb-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-keysyms1-dev

Tools

Editor

Editor is used to create scenes by placing and moving GameObjects, adding components etc.

CombineFiles

Aether3D internals almost never read raw files, all file access is abstracted by FileSystem to allow file contents to come from various sources. CombineFiles creates .pak files that contain contents of multiple files. You run it with command CombineFiles inputFile outputFile where inputFile is just a text file containing a list of file paths, each on their own line.

SDF_Generator

Generates a signed-distance field from a texture, useful for high-quality font rendering.