Image Description, by Stephane Redon
This image is from an interactive demo of our new discrete collision
detection approach for large-scale environments, in which the
Stanford dragon (250,000 triangles) breaks when the Stanford bunny
(35,000 triangles) falls on it. The demo runs on a pentium 2.4 GHz with
a NVIDIA Geforce FX 5800).
This discrete collision detection method is a graphics-hardware based
approach, which takes advantage of the new occlusion queries of the
recent graphics cards to efficiently cull away most of the non-colliding
objects or sub-objects. As opposed to most GPU-based methods for
collision detection, this method doesn't require frame-buffer readbacks.
This allows to achieve a high frame-rate for complex bodies. Moreover,
since no data structure is required, the method handles naturally
deformable bodies, breaking bodies, and changing topologies.
As this demo is essentially designed to test the CD method, the physics
part of the demo is a very simple implementation of impulse-based
physics . The dragon is organized in triangle strips and a heuristic
is used to remove some strips and propagate the fracture when the bunny
collides the dragon. Since no penetration depth is computed, the
velocity of the contact point on the bunny is used as the contact
normal. This gives satisfying results in this case. Note that the demo
shows that the method handles N-body collision detection as well, as the
parts falling on the floor may push parts which are already resting (cf
video here )
The lighting in this image is a very simplified (hacked / not exact)
version of CPU-based image-based lighting, tested for fun. However, the
immediate-mode implementation was rather slow (15 fps, including
collision detection and physics) and has been replaced by simple
lighting in the video. We plan to implement the lighting in hardware
later (thanks to Paul Debevec for the permission to use his Light Probe
images).
More information can be found at my page
at UNC (dragon video.) or at the paper's page by Naga Govindaraju (the paper's
first author).
Cheers,
Stephane Redon
redon [at] cs [dot] unc [dot] edu
|
|