![]() |
Aether3D Game Engine
|
Aether3D is an open source game engine focusing on simplicity, robustness, portability and forward-thinking.
Only 64-bit project files/libraries are provided.
Grab the sample asset archive and extract it into aether3d_build/Samples after building.
You'll need Visual Studio 2019 or newer. 2017 also works if you change platform toolset and Windows SDK version. 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.
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.
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.
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
Editor is used to create scenes by placing and moving GameObjects, adding components etc.
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.
Generates a signed-distance field from a texture, useful for high-quality font rendering.
Converts .obj files to Aether3D's .ae3d format. When you export .objs from a modelling software, be sure to triangulate faces and also export texture coordinates. Materials and their bindings to submeshes can be read using read_mtl. Their output can be used in .scene files.
For archival/informative purposes, here's some performance info:
Sponza scene with directional light shadows is 16.6 ms on GeForce 780 GTX on Ubuntu.