Need help with FlexEngine?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ajweeks
664 Stars 29 Forks MIT License 2.4K Commits 0 Opened issues

Description

Cross-platform game engine with Vulkan backend

Services available

!
?

Need anything else?

Contributors list

# 122,981
glsl
vulkan
Unity
HTML
2349 commits

linux MIT licensed forthebadge

Flex Engine is a personal game engine I began work on in February 2017. I use it as a playground for learning about real-time techniques. I try to keep master reasonably stable, and therefore update it infrequently. See development for the latest changes.

Notable Features

  • Vulkan backend
  • Conditional checksum-based shader compilation
  • Support for Windows & linux
  • Scene editor with serialization
  • In-game scripting language & virtual machine
  • Built-in profiling capture/inspection tools
  • Rendering:
    • Physically based shading model
    • Image based lighting
    • Screen-space ambient occlusion
    • Stable cascaded shadow mapping
    • Temporal anti-aliasing
    • Signed-distance field font generation & rendering
    • GPU particles
    • Terrain, ocean, and sky rendering

Procedural terrain generated on the GPU

Gerstner wave ocean simulation

Cascaded Shadow Mapping

Two million particles simulated and rendered entirely on the GPU

Profiler overlay showing a breakdown the CPU-time of a single frame

Some editor windows

Screen-Space Ambient Occlusion (SSAO)

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

View into editor

See more screenshots here

Building Flex

See

build.md

Dependencies

Flex Engine uses the following open-source libraries: - Bullet - Collision detection & rigid body simulation - FreeType - Font loading - glfw - Window creation, input handling - glm - Math operations - ImGui - User interface - OpenAL - Audio loading and playback - stb - Image loading - cgltf - Mesh loading - volk - Vulkan meta-loader

License

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

Acknowledgements

A huge thank you must be given to the following individuals and organizations for their incredibly useful resources: - Baldur Karlsson of github.com/baldurk/renderdoc - Alexander Overvoorde of vulkan-tutorial.com - Sascha Willems of github.com/SaschaWillems/Vulkan - Joey de Vries of learnopengl.com - Andrew Maximov for the pistol model and textures artisaverb.info/PBT.html - FreePBR.com for the high-quality PBR textures - All authors and contributors to the open-source libraries mentioned above

Blog

Stay (somewhat) up to date about this project on my blog at ajweeks.com/blog

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.