Game demo utilizing Vulkan for real-time, physically-based simulation and rendering on the GPU
Watch on YouTube | Play on Windows
- simulation of soft, deformable bodies and thousands of particles via XPBD
- Frostbite rendering model with optional cel shading
- third-person camera on a spherical world
- import of (animated) glTF models
The light of the little star is fading. Collect star particles and bring them back to the star to regenerate its light.
- Escape – Toggle cursor lock
- C – Toggle cel shading
- W|A|S|D – Move
- Shift – Run
- Mouse – Rotate camera
- Scroll – Adjust camera distance
- Install Git, Git LFS, CMake, a build tool like Ninja, a C++20 compiler (tested are Clang on macOS and MSVC on Windows), and the Vulkan SDK.
- Clone the repository using Git.
- Configure and build the demo using CMake. You can also do this in an IDE like Visual Studio (Code).
- Run the demo executable.
- Animated Astronaut Character in Space Suit Loop by LasquetiSpice is licensed under CC BY 4.0.
- Book Pattern by Rob Tuytel is licensed under CC0 1.0.
- Brown Leather by Rob Tuytel is licensed under CC0 1.0.
- Caveat by Pablo Impallari is licensed under OFL 1.1.
- CGI Moon Kit by NASA's Scientific Visualization Studio is licensed under CC0 1.0.
- Deep Star Maps 2020 by NASA/Goddard Space Flight Center Scientific Visualization Studio is licensed under CC0 1.0.
- Dear ImGui
- DirectX Shader Compiler
- GLFW
- GLM (OpenGL Mathematics)
- KTX (Khronos Texture)
- MikkTSpace
- MshIO
- SoLoud
- stb
- TinyGLTF
- tinyobjloader
- Vulkan
- Vulkan-Hpp
- Vulkan Memory Allocator
- VulkanMemoryAllocator-Hpp
- An Isotropic 3x3 Image Gradient Operator
- A Survey on Position Based Dynamics, 2017
- Barycentric Coordinates
- Bitonic Sort
- Fast Tetrahedral Meshing in the Wild
- glTF 2.0 Specification
- KHR_materials_pbrSpecularGlossiness
- KTX File Format Specification
- Moving Frostbite to Physically Based Rendering 3.0
- MSH file format
- Optimized Spatial Hashing for Collision Detection of Deformable Objects
- Optimizing GPU occupancy and resource usage with large thread groups
- Particle Simulation using CUDA
- Physically Based Rendering in Filament
- Physically Based Shading at Disney
- Real Shading in Unreal Engine 4
- Shadow Map Antialiasing
- Small Steps in Physics Simulation
- Vulkan 1.3 Specification