19/03/18 : We worked very hard on Lugdunum during two years, it was our end-of-study project and we are very proud of it. It runs flawlessly of Android, Windows and Linux. It has detailled technical and user documentation too. As of today, we finished our studies and aren't maintaining it actively. Feel free to keep going this project :) We'll still up answer any of your questions to help you to do so 👍
If you are interested to take over this repository, please open an issue!
A modern cross-platform 3D rendering engine built with Vulkan and modern C++14. Documentation and more are available on the homepage.
Our build system is CMake and this repository contains the appropriate build files to build on Linux, Windows and Android using a C++14 compiler (see tested toolchains). Third party dependencies are built using Lugdunum-ThirdParty and the thirdpary.yml
file located at the root of this repository. Follow the instructions on our documentation to build Lugdunum.
All the examples can be built using the CMakeLists.txt
in the ./samples
directory.
The simplest of all. Renders a colored triangle.
This basic example draws a procedurally generated rotating cube.
This example draws a procedurally generated rotating sphere using PBR, which is lit by 4 directional lights.
This basic examples draws an array of procedurally generated spheres using PBR, the whole array shows a gradient of the PBR parameters.
The spheres are also lit by 4 directional lights, and a free moving camera allows to explore the different materials and reflections.
Displays the classic Battle Damaged Sci-fi Helmet - PBR by theblueturtle_ with a skybox and a free moving camera.
Tests can be enabled using the BUILD_TESTS
CMake flag.
Compiler | Operating System | Architecture | Version String |
---|---|---|---|
Clang 3.8 | Android NDK r14b with Unified Header | arm64-v8a | Android clang version 3.8.275480 (based on LLVM 3.8.275480) |
Visual Studio 2017 | Windows 10 Build 16170 | x64 | MSVC 19.10.25017.0 |
GCC 6.2.0 | Linux Ubuntu 16.04.1 with kernel 4.8 | x64 | gcc version 6.2.0 20160901 |
GCC 6.2.0 | Linux Tegra-Ubuntu 4.4.15 | aarch64 | gcc version 6.2.0 20160901 |