Skip to content

Bicyclette/Maze-Engine

Repository files navigation

MAZE-engine

A simple, rudimentary and low level 3D game engine, written in C++17.

Features

  • camera
  • blinn phong and PBR materials (PBR is only supported with glTF/glb format at the moment)
  • toon shader (Work In Progress)
  • image based lighting
  • point, spot and directional light sources (max 10 light sources per scene)
  • skybox
  • shadow mapping
  • screen space ambient occlusion
  • bloom (xml data)
  • lightning
  • Ordered transparency (xml data)
  • volumetric lighting
  • motion blur
  • anti-aliasing
  • 3D animated model loading with the ASSIMP library
  • physics with the BULLET engine : rigid bodies, soft bodies, kinematic character controller and vehicle controller
  • debug draw for the BULLET engine
  • fire particle system
  • audio management with the OPENAL library
  • DDS textures for fast scene loading and efficient VRAM usage (tested with fbx files : approximately 7 to 8 times faster than glb files which have png/jpg textures)
  • custom collision shapes for rigid bodies
  • text rendering
  • networking (client, server)
  • 2D user interface tools

Dependencies

Build

conan install . -s build_type=Release --build missing --install-folder=build
cmake -B build -S .

DEMO

Character controller

explorer camera

Third person camera

third person camera

Bullet physics debug draw

physics debug draw

Vehicle controller

vehicle vehicle night

Bloom

car bloom green bloom yellow bloom purple bloom purple

Lightning

podracer podracer lightning anim

Volumetric Lighting

sponza

Motion blur

motion blur

3D audio

audio audio

Toon shader (Work In Progress)

toon

TO DO

AI

  • Pathfinding
  • Navmesh

BUGS/ISSUES

  • Wheels of vehicle controller rotate in wrong direction
  • if statement not working in volumetric lighting shader

About

Rudimentary 3D game engine written in C++17

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors