[ODE] GImpact demo

Francisco Leon projectileman at yahoo.com
Thu Oct 26 06:51:05 MST 2006

--- FBrebion <infinity at fl-tw.com> wrote:------
> >If you want to see the true GIMPACT perfomance on a
> >real game, download the gammaleon demos:
> >
> This demo seems framerate dependent, i initially had
> more than 1000 fps 
> and hitting any key made it go at huuge speeds. In
> addition the "level" 
> geometry is only made of simple walls and planes.
> The spawned objects 
> all seem to be very simple. I believe it's not very
> representative of 
> what a "real" game / program needs to do today. For
> instance, i'd like 
> to see a *complex* level, made of many hundred
> thousands polygons, 
> against other simple primitives or tri-meshes.

Ok, sorry, that demo is really framerate dependent.
I'm working on a Multi-Threaded version of Gammaleon,
but it isn't pullished yet. However, I'll allow you to
see the snapshot: 


With this you can make tests in your Super Faster
Computer!! =D

--- FBrebion <infinity at fl-tw.com> wrote:-------------
> >- OPCODE doesn't support scaling meshes.
> >  
> >
> That's wrong, or more specifically, not totally
> right :) OPCODE doesn't 
> support scaling meshes, that's indeed right. But the
> trimesh collision 
> functions in ODE transform the primitives in trimesh
> space before 
> performing the intersection tests, so the only thing
> you have to do is 
> to give a rotation matrix that also contains a scale
> to ODE, and it'll 
> run fine ( again, i haven't tested in trimesh vs
> trimesh, but versus 
> other primitives it runs fine ).

Wrong, with OPCODE you can scale the trimesh vertices,
but you CAN'T scale the Bounding Box Volume tree. So
if you scale the trimesh with the rotation matrix,
you'll get a buggy app.

GIMPACT can re-calculate the bounding boxes of the
trimesh in every frame, without problems. It is
designed for being totally dynamic. 

--- FBrebion <infinity at fl-tw.com> wrote:-------------
> Francisco Leon wrote:
> >In the past I was using OPCODE for that. The
> >performance was some aceptable but:
> >- OPCODE doesn't support large meshes (It
> Crashes!!)
> >  
> >
> Never had this problem before, but then i only used
> OPCODE for trimesh 
> vs ellipsoid, box or cylinder primitives, not
> trimesh vs trimesh. Does 
> it only crash for trimesh vs trimesh ?

With OPCODE you can collide two large trimeshes
without problem, but when you collide more than 10 of
those trimeshes, it crashes!!

OPCODE has that problem because it overfills the Heap
memory in recursive routines (Tree's issues).
GIMPACT doesn't have that kind of problem.
In fact, GIMPACT can support very big trimeshes
without problems, if your computer has enough RAM.

However, in real-world games is not practical to have
large collision trimeshes. You can collide a bunch of
your 40k triangle ships whithout problems. But When
you collide more than 100 simultaneous meshes, it will
hit the performance. A minor issue.

--- FBrebion <infinity at fl-tw.com> wrote:-------------
> I'm confused, i thought you only had a bounding box
> at the object level. 
> Does that mean you partition the triangles of a
> single object into a set 
> of boxes too ? Or.. is there one bounding box per
> triangle ?

Yes, GIMPACT haa 1 bounding box per triangle, and it
sorts the triangle boxes in the GIM_AABB_SET

--- FBrebion <infinity at fl-tw.com> wrote:-------------
> I don't think you fully understand the problem. I
> can certainly reduce 
> the polycount of the ships. But our massive ships
> are up to 5 KM long; 
> our smallest ships, 5 to 10 meters. In this
> condition, any 
> simplification of the mesh of a massive ship will
> lead to invalid 
> collisions when you are flying in a small ship
> around the bigger one...

Be smart. You have to think more about it. It would be
more practical to have 2 models. One inner model can
be the very big large trimesh version for your players
when they visit the ship installations. And a
simplified version of your Ship in the exterior for
collide with other ships.

With more tricks you can deceive the player's eye.
QUAKE4 seems to use a totally Per-Triangle collisions
for their players models, but it does it tricky by
aproximing  their players to simple shapes. Also,
DOOM3 and Quake4 use simplified meshes of their models
for collision detection and Shadow casting rendering.

Ah!, I have the old version of the fixed ODE-Trimesh
collision with OPCODE. Download it from: 
But you will need an slower computer for see the
difference. :D


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the ODE mailing list