[ODE] Re: Heightfield / Collision.

gl gl at ntlworld.com
Tue Feb 18 03:38:01 2003


(here we go again)  Was this a personal reply?

Either way, back to the list we go.

I wasn't suggesting arbitrary vertex spacing, as we're working on a
regularly spaced heightfield collider and want to take advantage of the
optimisations you can make with them - rather, I was wondering if anyone
needs different x spacing to y spacing, ie. vertices that are regularly
spaced, but with different (fixed) spacings for each dimension?

And/or if anybody needs non-square heightfields (ie. different quad counts
per dimension)?
--
gl


----- Original Message -----
From: "Amund Børsand" <amund@c2i.net>
To: "gl" <gl@ntlworld.com>
Sent: Tuesday, February 18, 2003 9:14 AM
Subject: Re: [ODE] Re: Heightfield / Collision.


"gl" <gl@ntlworld.com> skreiv:

>
> Another thing - does anyone have any need for non-square heightfields, or
> heightfields with different x/y vertex spacings?

Yeah, I guess that would be nice, for instance in a car simulator, where
you don't have to waste lots of polygons/whatever you use to draw
terrain on stuff outside the road, but the road/track could be very
dense and detailed. On the other hand, using polygons drawn from a
heightmap,
with constant x and y spacing, you could probably make some really fast
interpolations between vertices, eliminating the need for tri-collision
detection. You could probably also make the terrain seem smoother to
whoever's travelling on it, instead of flat and edgy as a polymesh would
be (though it would still _look_ flat and edgy.. unless you're clever
with lightning maps or gouraud shading or something). But, ultimately,
the coolest thing would of course to make this work with an irregular
(x- and y-wise) polymesh/heightmap or something. Or, you could make a
mesh from a heightmap, optimize it by removing vertices and polygons
that make little difference to the look of the terrain, and then use the
heightmap for collision detection and stuff. If you get my drift.

Hm. Good ideas, man, I think I'll have to implement this myself. =) Let
me know if you get it to work, and I'll do the same.