Skip to content

Focal Engine is a personal project where I'm developing a 3D rendering engine.

License

Notifications You must be signed in to change notification settings

Azzinoth/FocalEngine

Repository files navigation

Focal Engine

build

Focal Engine is a personal project of a 3D rendering engine, showcasing an array of custom shaders, materials, and rendering techniques.

3D scene in the Focal Engine 3D scene in the Focal Engine 3D scene in the Focal Engine 3D scene in the Focal Engine 3D scene in the Focal Engine

Features

  • 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

Terrain

  • Chunked terrain with tessellation for LOD
  • Frustum culling of sub chunks
  • Up to 8 terrain layer materials
  • Each layer can define foliage spawn rules

Performance

All instanced entities will have a pass with multiple computer shaders that perform LOD level calculations, Frustum and Occlusion culling entirely on the GPU.

Building the Project for Visual Studio (Windows) as .lib

# 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

Scene Editor

This repository only contains the engine itself to maintain modularity. For the full experience, it is recommended to use the Focal Engine Editor.

Simple Application Example

An example of a simple application that integrates the Engine: Example.

Third Party Licenses

This project uses the following third-party libraries:

  1. 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.

  2. jsoncpp: This library is licensed under the MIT License. The full license text can be found at jsoncpp's GitHub repository.

  3. lodepng: This library is licensed under the zlib License. The full license text can be found at lodepng's GitHub repository.

  4. stb: This library is licensed under the MIT License. The full license text can be found at stb's GitHub repository.

  5. OpenXR: This library is licensed under Apache 2.0 License. The full license text can be found at OpenXR's GitHub repository.

About

Focal Engine is a personal project where I'm developing a 3D rendering engine.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published