Implementing Different Methods of Circle to Circle Collision Detection using Vulkan Graphics and Compute API
Circles were chosen to focus more on Broad-Phase algorithms of the Collision Detection Pipeline.
This Project Is For Learning Purposes of Following Topics
- SIMD/Vectorization using AVX/AVX2
- Vulkan Compute Shaders and GPGPU Programming
- Data Oriented Programming
-
Broad-Phase
- Brute Force ( O(n^2) )
- Spatial Partitioning
- Grid
- K-D Tree
- Quadtrees
- BSP
- Sort and sweep
- Simplex-Based : GJK
-
Narrow-Phase
- We Have Circles Here and Math/Physics Calculations are easy.
-
Technologies/API's
- CPU
- Simple Sequential
- Multi-Threaded
- SIMD
- AVX2
- AVX-512
- GPU
- Vulkan Compute Shaders
- OpenCL
- CPU
- Brute Force
- Spatial Partitioning
- Grid
- Visual Studio 2019
- 🔜 Linux Builds Will be Added Soon
You can here about implementation details soon in my blog, GraphicsCoder
- SIMD
- Spatial Partitioning
- Vulkan and GPU Programming
- Circle Collision Handling
❗ This project is not for benchmarking purposes!, Although It would give me some ideas to be suspicious about.
💟 I would appreciate optimization ideas and results on your system on issues.