C++ GLSL Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

readme.md

Flex Engine

MIT licensed

Flex Engine is my personal rendering engine which currently supports Vulkan and OpenGL. It was started in February 2017 as a way for me to better understand how graphics engines work.

Notable Features

  • Support for both Vulkan and OpenGL, switchable at runtime
  • Physically Based Rendering (PBR)
  • Image Based lighting (IBL)
  • Irradiance map generation
  • Reflection probes
  • Post-processing stage

Planned Features

  • Mesh animation
  • Cascading shadow maps
  • ...

GBuffer (top-left to bottom-right): position, albedo, normal, final image, depth, metallic, AO, roughness

Building Flex (Windows-only)

If you want to build Flex Engine on your own system, follow these steps. You an always download the latest release binaries here if that's what you're after.

Requirements:

  • Visual Studio 2015
  • GENie

Steps

  1. Recursively clone the repository using your method of choice (SourceTree, git bash, ...)
  2. Ensure GENie is either on your PATH, or genie.exe is in scripts/
  3. Navigate a command prompt to scripts/ and run genie vs2015
  4. Navigate a command prompt to FlexEngine/dependencies/assimp/ and run cmake . to generate the necessary config.h file. You do not need to build generated .sln
  5. Open build/FlexEngine.sln
  6. Build and run!

Dependencies

Flex Engine uses the following open-source libraries:

  • Assimp - Model loading
  • ImGui - User interface
  • stb - Image loading
  • glfw - Window creation, input handling
  • glad - OpenGL profile loading
  • glm - Math operations

License

Flex engine is released as open source under The MIT License. See license.md for details.

Acknowledgements

A huge thanks to the following people/organizations for their incredibly useful resources:

Blog

Stay (somewhat) up to date about this project on my blog at ajweeks.wordpress.com/tag/flex-engine/.