Vector3D is a C++ library for creating 3D games using Vulkan. This project aims to provide a custom implementation of a game engine for learning purposes.
- Physics: Implement physics-based simulations (Project Chrono)
- Graphics: OpenGL and Vulkan renderer
- Multiple 3D model formats: Compatible with multiple 3d model formats usin Assimp
- Graphics: Implement Vulkan renderer (partially implemented)
- PBR: Implement Physically based rendering
- Reflections AO: Implement screen space reflection and ambient occlusion
- Shadows
- Volumetric lighting
- Terrain: Large-scale terrain and foliage system
- Procedural Generation: Dynamically load and generate maps from OpenStreetMap (OSM) data.
- C++17 compiler (e.g., GCC 12.3 or higher)
- Vulkan SDK (version 1.2 or higher)
- OpenGL
- Boost
- Eigen
- Chrono