Table of Contents
Fetching ...

Easy real-time collision detection

Jonathan Fabrizio

TL;DR

This paper presents a real-time collision detection scheme that leverages distance-field-like representations derived from the graphics pipeline to test collisions between a single object and its environment. By projecting both the object and environment onto the same plane, it generates height maps $S_o$ and $S_e$ via depth buffers and back-face culling, then compares them entirely on the GPU to determine intersections. The approach requires only the meshes, handles primitives generated or modified on the GPU, and relies on simple, fast operations with modest memory overhead, achieving competitive performance against the Flexible Collision Library (FCL) in selected scenarios. However, it cannot detect a fully enclosed object within the environment and is most effective when the object's concavities align with the projection direction; the authors discuss variants and future work to broaden applicability. Overall, this method offers a practical, easy-to-implement GPU-based alternative for real-time collision detection in games, simulations, and particle systems, with strong memory efficiency and compatibility with pipeline-generated geometry.

Abstract

This article presents an easy distance field-based collision detection scheme to detect collisions of an object with its environment. Through the clever use of back-face culling and z-buffering, the solution is precise and very easy to implement. Since the complete scheme relies on the graphics pipeline, the collision detection is performed by the GPU. It is easy to use and only requires the meshes of the object and the scene; it does not rely on special representations. It can natively handle collision with primitives emitted directly on the pipeline. Our scheme is efficient and we expose many possible variants (especially an adaptation to certain particle systems). The main limitation of our scheme is that it imposes some restrictions on the shape of the considered objects - but not on their environment. We evaluate our scheme by first, comparing with the FCL, second, testing a more complete scene (involving geometry shader, tessellation and compute shader) and last, illustrating with a particle system.

Easy real-time collision detection

TL;DR

This paper presents a real-time collision detection scheme that leverages distance-field-like representations derived from the graphics pipeline to test collisions between a single object and its environment. By projecting both the object and environment onto the same plane, it generates height maps and via depth buffers and back-face culling, then compares them entirely on the GPU to determine intersections. The approach requires only the meshes, handles primitives generated or modified on the GPU, and relies on simple, fast operations with modest memory overhead, achieving competitive performance against the Flexible Collision Library (FCL) in selected scenarios. However, it cannot detect a fully enclosed object within the environment and is most effective when the object's concavities align with the projection direction; the authors discuss variants and future work to broaden applicability. Overall, this method offers a practical, easy-to-implement GPU-based alternative for real-time collision detection in games, simulations, and particle systems, with strong memory efficiency and compatibility with pipeline-generated geometry.

Abstract

This article presents an easy distance field-based collision detection scheme to detect collisions of an object with its environment. Through the clever use of back-face culling and z-buffering, the solution is precise and very easy to implement. Since the complete scheme relies on the graphics pipeline, the collision detection is performed by the GPU. It is easy to use and only requires the meshes of the object and the scene; it does not rely on special representations. It can natively handle collision with primitives emitted directly on the pipeline. Our scheme is efficient and we expose many possible variants (especially an adaptation to certain particle systems). The main limitation of our scheme is that it imposes some restrictions on the shape of the considered objects - but not on their environment. We evaluate our scheme by first, comparing with the FCL, second, testing a more complete scene (involving geometry shader, tessellation and compute shader) and last, illustrating with a particle system.
Paper Structure (6 sections, 7 figures, 1 table)

This paper contains 6 sections, 7 figures, 1 table.

Figures (7)

  • Figure 1: a. The object, b. the bounding box $RC$, c. the projection of the object, d. the object in its environment, e. the projection of the environment onto the rear plane. f. the object's height map $S_o$, g. the environment's height map $S_e$, h. superposition $S_o$ and $S_e$.
  • Figure 2: Our method detects (a) intersection, (b) inclusion of an object from the environment but not (c) when our object is encompassed by an object of the environment (c).
  • Figure 3: Various projections for an object.
  • Figure 4: Spaceship with moving parts.
  • Figure 5: Projection computation for an articulated object.
  • ...and 2 more figures