[ODE] BSP and ODE's collision system

Aras Pranckevicius nearaz at interamotion.com
Mon Apr 21 06:59:01 2003


> partitioned geometries. What I understood is that ODE needs to get
> all the geometry (heirarchically or otherwise) and maintains a
> collision space.

Yes.

> Everytime you're about to draw, you check the collision etc.

Not exactly "every time you draw" - more precisely, "every time you need" :)
This can coincide with the rendering, or it may not. ODE doesn't care about
your rendering in any way.

>While drawing with BSP involves only finding the node you're in and
> then after calculating some regular visibility tests, you just draw
> what's needed.

Yes, but, again, ODE doesn't care about your rendering, so your BSP for
visibility tests and ODE's collision system aren't and shouldn't be aware of
each other. Unless, of course, you would want to re-use your BSP for
collision _also_ (not only for visibility). In that case - ODE has no BSP
collision system (it's hash space is more like grid/octtree approach). You
possibly could implement, say, "bsp collision space"...

> Since BSPs are precompiled, how would you create a collision space
> at the load time of your program manually, in the first place ? Any
> thoughts ?

Again - just pretend that you don't have the BSP. Just tell ODE about the
collidables, and that's all. You have your geometry information somewhere
else, not only in the BSP, right (at least you would need that for rendering
purposes)?



Aras Pranckevicius aka NeARAZ
http://www.gim.ktu.lt/nesnausk/nearaz/