Circle Collision

June 30, 2019 ยท View on GitHub

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

:heavy_exclamation_mark: This project is not for benchmarking purposes!, Although It would give me some ideas to be suspicious about.

:heart_decoration: I would appreciate optimization ideas and results on your system on issues.