Project aims to recreate a very inspiring muv luv gif using subset of c++, SDL and vulkan.
Current preview (still a veeeery long road ahead)
- Handmade gltf2.0 glb model importer (nodes, animations, skinning)
- Integrated imgui
- Support for both windows (mingw) and linux
- Custom memory allocators (host and device)
- PBR with IBL (huge thanks to Sascha Willems vulkan examples and https://learnopengl.com/PBR/Theory)
- Signed distance field font rendering
- Multithreaded rendering / job system
- Cascaded shadow mapping
short distance goals:
- Shader preloading and reuse
- Particle system (engine boost effect)
long distance goals:
- Editor for level design
- Global illumination (got to understand spherical harmonics and light probes first)
- Occluders (AABB trees)
- Parallelized pipeline creation (postponed since now it takes ~50ms in non-parallel form)
short distance goals:
- Small AI horde patrol throughout level
- Maintenence create drop call
- Shooting and melee
- Height calculation rework
- AI combat
- better model and animations (while only using keyframes from glb)
- GCC at least 8.1 (to support C++2a)
- SDL2 (any version with SDL_vulkan header)
- lunarg vulkan sdk
- Change include paths inside CMakeLists.txt to suit development environment
- Change dll paths for SDL and vulkan
- Change glslangvalidator inside 'shaders/make_shaders.bat/.sh'
- Install 'hashlib' library for python in use
- use scripts for shaders, cmake for game
- run binaries inside 'bin' folder