Aether3D
Game Engine
Aether3D Game Engine Documentation

Introduction

Aether3D is an open source game engine focusing on simplicity, robustness, portability and forward-thinking.
In most cases it's built as a DLL and dynamically loaded into an application allowing to switch renderers easily.

Compilation

Windows

You'll need Visual Studio 2017. Build one of the renderers in Renderers folder and then build and run one of the samples.

OS X

You'll need at least OS X Mountain Lion. Make sure you have SDL2.framework in /Library/Frameworks
Build Renderers/GL32/Aether3D_GL_3.2.xcodeproj and build and run one of the Samples/.
You can also build on the command-line using Makefiles located in renderer and sample folders.

iOS

Locate the _iOS Xcode projects in Samples folder hierarchy and run them.

Linux

You'll need GCC 4.8 or newer or clang.
Required packages: libudev-dev, libsdl2-dev, libopenal-dev, libgl1-mesa-dev
Navigate to Renderers/GL32 and run make. Then navigate into one of the samples and run make.

Open Bugs

  • Camera's transform is not affected by the scene graph.
  • Spotlight has visual bugs in GL 4.3 and D3D11 renderers.
  • SSAO and shadows look weird in D3D11 renderer.
  • Samples crash when loading the engine DLL when compiled with MinGW.
  • When models are hot-reloaded, they don't preserve their materials.
  • MSAA breaks shadows (tested on GL/macOS)
  • Bug: In editor the sphere is lit even if a light is inside it.
  • Bug: convert_obj produces garbage with meshes containing quads without normals.
  • Bug: MSAA causes OpenGL error on GL43 on OpenWindow: OpenGL: glBlitFramebuffer failed because the framebuffer configurations require that the source and destination formats and sample counts match (GL_INVALID_OPERATION) [source=API type=ERROR severity=HIGH id=3010]