Skip to content

mctb32/flecs-engine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

320 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ℹ️ This repository is an experimental fork of flecs-engine with work-in-progress Windows support. Windows builds currently require Visual Studio C++ build tools, CMake, Ninja, and network access during configure so CMake can fetch dependencies and the prebuilt wgpu-native archive. The Windows launcher scripts use vswhere to enter the MSVC developer environment automatically.

Flecs engine

A fast, portable, low footprint, opinionated (but hackable), flecs native game engine.

Usage

Build & run the engine:

cmake -S . -B build/debug
cmake --build build/debug
./build/debug/flecs

On Windows:

run.bat
run-release.bat

Or use VS Code with CMake Tools.

Why should I use this?

You should probably not use this, unless:

  • you want to quickly prototype ideas
  • you want to build an engine but not start from 0
  • you're OK with the limitations of the engine

Features

Geometry

  • Primitive shapes:
    • Quad
    • Box
    • Triangle
    • TrianglePrism
    • RightTriangle
    • RightTrianglePrism
  • Primitive meshes (parameterized mesh cache):
    • Cone
    • Cylinder
    • Sphere
    • IcoSphere
    • HemiSphere
    • NGon
  • Meshes
  • Instanced rendering

Assets

  • glTF loader
  • PNG loader
  • DDS loader
  • HDR / EXR loader (for HDRI)

Materials

  • Metallic
  • Roughness
  • Cubemap based reflections
  • Emissive
  • Transmissive (rough/smooth objects)
  • PBR textures
  • Per-instance materials
  • Shared materials

Lighting

  • Directional light
  • Point lights
  • Spot lights
  • Clustered light rendering
  • Cascading shadow maps
  • Image based lighting

Atmosphere

  • Dynamic atmosphere
  • Dynamic atmosphere IBL
  • Distance fog
  • Height based fog
  • Sun disk
  • Moon disk (w/phases)
  • Starfield
  • Time of day system

Effects

  • Bloom
  • SSAO
  • Screen space sun shafts
  • Auto exposure
  • Tony McMapFace tone mapping

Misc

  • Input handling
  • Camera controller
  • Movement systems
  • Tracy profiling
  • Image-based rendering regression testing
  • MSAA
  • GPU frustum culling
  • Hi-Z occlusion culling
  • Render to image

Dependencies

  • cglm
  • cgltf
  • glfw
  • stb_image
  • tinyexr
  • tracy

Assets used

Screenshots

A Beautiful Game Bistro Damaged Helmet Iridescent Dish Kenney City Time Of Day Clouds

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 96.6%
  • HTML 2.1%
  • Shell 0.7%
  • CMake 0.3%
  • Python 0.2%
  • Batchfile 0.1%