Focal Engine is a personal project of a 3D rendering engine, showcasing an array of custom shaders, materials, and rendering techniques.
- Physically-based rendering
- High dynamic range (HDR) rendering internally
- Gamma correction
- Deferred shading
- Screen-Space Ambient Occlusion (SSAO)
- Cascaded soft shadows
- Fast Approximate Anti-Aliasing (FXAA)
- Sky with atmospheric scattering
- Compressed textures support with multi-threaded loading
- Chunked terrain with tessellation for LOD
- Frustum culling of sub chunks
- Up to 8 terrain layer materials
- Each layer can define foliage spawn rules
All instanced entities will have a pass with multiple computer shaders that perform LOD level calculations, Frustum and Occlusion culling entirely on the GPU.
# Initialize a new Git repository
git init
# Add the remote repository
git remote add origin https://github.com/Azzinoth/FocalEngine
# Pull the contents of the remote repository
git pull origin master
# Initialize and update submodules
git submodule update --init --recursive
# Generate the build files using CMake
# Will work in Windows PowerShell
cmake CMakeLists.txt
This repository only contains the engine itself to maintain modularity. For the full experience, it is recommended to use the Focal Engine Editor.
An example of a simple application that integrates the Engine: Example.
This project uses the following third-party libraries:
-
GLM: This library is licensed under a permissive open-source license, similar to the MIT license. The full license text can be found at GLM's GitHub repository.
-
jsoncpp: This library is licensed under the MIT License. The full license text can be found at jsoncpp's GitHub repository.
-
lodepng: This library is licensed under the zlib License. The full license text can be found at lodepng's GitHub repository.
-
stb: This library is licensed under the MIT License. The full license text can be found at stb's GitHub repository.
-
OpenXR: This library is licensed under Apache 2.0 License. The full license text can be found at OpenXR's GitHub repository.