Aether3D Game Engine
This codebase will evolve into the next generation Aether3D. More info: http://bioglaze.blogspot.fi/2014/12/planning-aether3d-rewrite-for-2015.html
Not expected to be a valuable tool before 1.0 unless for learning purposes. Current version: 0.7.8.
Author: Timo Wirén
- Windows, macOS, iOS and Linux support.
- Vulkan, D3D12 and Metal renderers.
- Forward+ light culling
- Component-based game object system.
- VR support. Tested on HTC Vive.
- Sprite rendering, texture atlasing and batching.
- Bitmap and Signed Distance Field font rendering using BMFont fonts.
- Skinned animation for meshes imported from FBX.
- Variance shadow mapping.
- Audio support for .wav and .ogg.
- Hot-reloading of assets.
- Custom model format with .obj, .fbx and Blender exporter.
- Virtual file system for .pak files.
- XBox controller support.
- Cross-Platform WYSIWYG scene editor.
- Statically linked into your application.
- Wireframe rendering mode.
- Line rendering
- Physically-based rendering
- Clustered Forward shading
- Tone mapping
- Post-processing effects
- Most of the features in my previous engine
- After building build artifacts can be found in aether3d_build next to aether3d.
- Grab the sample asset archive and extract it into aether3d_build/Samples after building.
- Open the project in Engine\VisualStudio_* in VS2017 and build it. For MinGW you can use Engine/Makefile_Vulkan.
- Build and run Samples\01_OpenWindow. On MinGW the command is
- Vulkan users: built-in shader sources are located in aether3d_build/Samples that comes with sample asset archive. If you modify them, you can build and deploy them by running compile_deploy_vulkan_shaders.cmd in Engine/Assets.
- FBX converter tries to find FBX SDK 2019.0 in its default install location (English language localization)
- Copy OpenVR headers into Engine\ThirdParty\headers
- Open Vulkan renderer's Visual Studio solution and select target OpenVR Release
- Build and run Samples/04_Misc3D target Release Vulkan OpenVR in VS2017.
- Open the project Engine/Aether3D_OSX_Metal in Xcode and build it or run the Makefile.
- Open the project Samples/MetalSampleOSX and run it or run the Makefile.
- FBX converter tries to find FBX SDK 2019.0 in its default install location.
- Install dependencies:
sudo apt install libopenal-dev libx11-xcb-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-keysyms1-dev
make -f Makefile_Vulkanin Engine.
- Build Aether3D_iOS in Engine. It creates a framework.
- Copy the framework into your desktop.
- Open Samples/MetalSampleiOS and build and run it.
- AMD Radeon R9 Nano on Ubuntu 18.04 and Windows 10
- NVIDIA GTX 750M on MacBook Pro 2013 and macOS High Sierra
- NVIDIA GTX 980 on Windows 10
- NVIDIA GTX 660 on Windows 7
- Intel Skylake HD530 on Ubuntu 18.04
- Unit test project can be found in Engine\Tests\UnitTests. You'll need to set it to run in x64 and copy OpenAL32.dll into the build folder.
GCC or Clang
- You can find Makefiles in Engine/Tests.
The engine is licensed under zlib license.
Third party library licenses are:
- stb_image.c is in public domain
- stb_vorbis.c is in public domain
- OpenAL-soft is under LGPLv2 license
- Nuklear UI is in public domain