Eagle Engine is a mobile and web-first rendering engine, Graphics API uses Vulkan and WebGL/WebGPU. Developed with C++14.
We organize and submit the model data of the scene through the Render Graph.
FRAME LAYER RENDER PIPELINE GRAPHICS
┌-------------┐ ┌---------------┐ ┌----------┐
| SceneGraph | ------------| ├------------------------> | |
| Components | | SceneCulling | | |
| Models | | | | GFX API |
| SubModels | | RenderGraph | | |
| ...... | <---------- | ├<------------------------ | |
└-------------┘ └---------------┘ └----------┘
|
| APPLICATION
| ┌----------------------------┐
└---->| EagleApplication/Renderer |
└----------------------------┘
This repository contains submodules for external dependencies, so when doing a fresh clone you need to clone recursively:
git clone git@github.com:GengineJS/EagleEngine.git --recurse-submodules
Existing repositories can be updated manually:
git submodule init
git submodule update
Many examples require assets from the asset pack that is not part of this repository due to file size. A python script is included to download the asset pack that. Run
python download_assets.py
from the root of the repository after cloning or see this for manual download.
Currently our supported platforms include windows, macos, ios and android.
Use the provided CMakeLists.txt with CMake to generate a build configuration for your favorite IDE or compiler, e.g.:
cmake -G "Visual Studio 16 2019" -A x64
Building on Android is done using the Gradle Build Tool:
cd android
./gradlew assembleDebug
This will download gradle locally, build all samples and output the apks to android\examples\bin
.
On Windows execute gradlew.bat assembleDebug
.
If you want to build and install on a connected device or emulator image, run gradle installDebug
instead.
Building for iOS and macOS is done using the examples Xcode project found in the xcode directory. These examples use the MoltenVK Vulkan driver to provide Vulkan support on iOS and macOS, and require an iOS or macOS device that supports Metal. Please see the MoltenVK Examples readme for more info on acquiring MoltenVK and building and deploying the examples on iOS and macOS.
Use the provided CMakeLists.txt with CMake to generate a build configuration for your favorite IDE or compiler, e.g.:
cmake -G "Xcode"