Giter Club home page Giter Club logo

circlecollision's Introduction

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.

circlecollision's People

Contributors

erfan-ahmadi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

happydpc hixio-mh

circlecollision's Issues

Please don't falsly claim to be an Engineer

@Erfan-Ahmadi You are not an Engineer.
There ain't such thing as "Rendering Engineer". Engineering is not about sitting behind a screen, and pressing keys on a keyboard to write code. No , engineering is far more serious . Engineering is about designing and building real entities, like turbines or buildings. Software developers have this tendency to make huge and false claims these days. They are not engineers, and will never be engineers, not even close.

Collision Bug with AVX2 256f implementations

  • Somehow count is half the instance count
  • One or two pair of the circles behave differently when collided: Seems like they don't transfer momentum and the just slide off each other

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.