Skip to content

Implementing Different Methods of Circle to Circle Collision Detection using variety of new Technologies: Vulkan Graphics/Compute API, AVX2/AVX-512

License

Notifications You must be signed in to change notification settings

Erfan-Ahmadi/CircleCollision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circle Collision

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.

Images and Preview

Charts and Plots

Motivation

This Project Is For Learning Purposes of Following Topics

  • SIMD/Vectorization using AVX/AVX2
  • Vulkan Compute Shaders and GPGPU Programming
  • Data Oriented Programming

Features

  • 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

Implemented

Build

Blog

You can here about implementation details soon in my blog, GraphicsCoder

Slides

Presentation Slides

Resources

❗ 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.