A Vulkan-based rewrite of Haru Engine.
- Rendering
- Basic Vulkan rendering
- Deferred Rendering Pipeline
- Physically Based Lighting
- Cascaded Shadow Map
- FXAA Integration
- Level Editing
- Modified TrenchBroom: https://github.com/andyroiiid/TrenchBroom-Haru
- Custom level format (see docs/haru.hexpat)
- Game Entities
- First-person controller
- Static/kinematic/physically-simulated BSP brushes
- Quake/Hammer style entities
- Scripting
- Entity Events
- Lua Level Script
- UI
- Immediate-mode UI System
- Sound
- FMOD Integration
- Physics
- PhysX 5 Integration
- Rigidbody movement extrapolation/interpolation
- Character controller with Kalman Filter movement prediction
- Vulkan SDK
- Obviously...
- fmt
- Currently just a dependency of spdlog
- spdlog
- Logging library
- physfs
- File system abstraction
- simdjson
- JSON parsing
- glfw
- Window handling
- glslang
- Runtime shader compilation & SPIR-V generation.
- VulkanMemoryAllocator
- De facto library for Vulkan memory management?
- glm
- Mathematics
- stb
- stb_image.h for image loading
- tinyobjloader
- OBJ model loading
- PhysX
- Physics engine
- lua
- Scripting language
- FMOD
- Sound system
- Tracy
- Profiler