A physics based game made using C++ and OpenGL. Currently a renderer based off of my opengl framework.
Sketchfab GLTF model used: https://sketchfab.com/3d-models/spartan-armour-mkv-halo-reach-57070b2fd9ff472c8988e76d8c5cbe66
git clone --depth 1 https://github.com/snej55/mix_simulator.git
cd mix_simulator
# build it
cmake -S . -B build
cmake --build build/ -j$(nproc)
# to run
cd build
./main
- Physically based rendering
- IBL (Image Based Lighting)
- Skeletal animation
- GLTF Model loading
- Hybrid renderer (deferred for opaque meshes, forward for transparent)
- HDR (Khronos PBR Neutral Tonemapping)
- Bloom (PBR)
- SSAO (Screen Space Ambient Occlusion)
- Anti-aliasing (FXAA)
- Frustum Culling (AABB bounding volumes)
- Freetype2 font rendering
- Physics engine (Jolt)
- Cascading Shadow Maps
- Finish IBL
- Skeletal animation
- PBR Textures
- PBR Material loading
- Deferred rendering
- Mesh sorting (render opaque meshes deferred and transparent/translucent using forward)
- Duplicate material checks? Batch render meshes using material index vertex data?
- Animate transparent meshes
- Fog
- Implement static entities
- Fix transparent mesh culling
- SSAO
- Add FXAA anti-aliasing
- Global materials
- JSON Scene loading
- Frustum culling
- Space partitioning
- Bounding volume generation
- Main game class
- Level editor
- Add lights to level editor
- Rag dolls?
- Fix arena deletion order (child -> parent -> root)
- Add Jolt Physics
- Point lights
- Add shader compilation test
- Add lens dirt
- Find lens dirt texture
- Area lights
- Optimize static shader uniforms
- Add player character + controls/kinematic body
- Create player models
- Implement freetype2 font rendering
- Screen coordinates shape rendering
- Add UI framebuffer
- Add cascading shadow maps
- Smooth cascade transition
- Add credits
- Make camera follow player
- Add alpha to shape rendering
- Add settings
- Add in game font
- Find new HDRI
- Make some music
- Add physics sfx using jolt contact listeners
- Add sliding sfx
- Generate flow field quadtree
- Paralax mapping with tesselation shader?
- Add flow field pathfinding algorithm
- Add quad tree navigation functions
- Add wave propagation
- Dijkstra algorithm?
- Improve quadtree generation (cost/penetration depth)
- Optimize tile sizes
- Make enemies fall apart
- Precalculate fracture in blender
- Load shards
- Instance render shards
- Pregenerate convex hull shapes (jolt)
- Clean up data folder
- Polish shadows
- Fix camera jitter when falling

