[ODE] BSP And ODE?

prettyh8machine@mail.com prettyh8machine at mail.com
Mon May 5 10:19:02 2003


well ya you're absolutely right :) I guess the only way I can actually justify myself doing it the other way around is lack of time and need to just do it in some way rather than doing it in an optimized way.

I would really appreciate if you could, after incorporating it with ODE, give me an update or possibly send a demo of it so that I could check the performance of it..since I might have used some other technique, in near future I would love to switch to some better way.

Thanks,
Bilal

----- Original Message -----
From: "Nathan Ostgard" <nostgard@lvcm.com>
Date: Mon, 5 May 2003 09:52:03 -0700 
To: <ode@q12.org>
Subject: Re: [ODE] BSP And ODE?

> I've been thinking about how to implement this for Quake 3 BSPs as
> well...
> 
> Why did you decide to work from the visible face list instead of the
> brush planes? Every leaf has a set of planes representing a convex
> volume to collide against, and these brushes are optimized exactly for
> that purpose...it seems to make more sense to me to convert the
> brushes to triangles and submit those to ODE instead. It would already
> be split into separate meshes, and the amount of faces would be much
> lower. You'd still have to create your own triangles for certain cases
> (patches), but for most of the map I think this would be easier...
> 
> Nathan Ostgard
> 
> ----- Original Message -----
> From: "Mohammad Bilal" <prettyh8machine@mail.com>
> To: <ode@q12.org>
> Sent: Monday, May 05, 2003 9:26 AM
> Subject: Re: [ODE] BSP And ODE?
> 
> 
> >
> > OK I was the one who posted the mail Nearaz is talking about and
> this is how I went about implementing it:-
> >
> > - Instead of making my own BSP-collider to plug in the ODE system, I
> used OPCODE (which is being used in the Tri-collider contribution for
> ODE -- which Nearaz also suggested). OPCODE is a collision detection
> library which makes optimized collision tree using Bounding Volumes so
> you just have to provide all the vertices of the Quake3 BSP (using
> Face->start and
> > Face->count attributes you'll read in from the bsp file) and
> ofcourse you'll have to triangulize them (since most of the faces in
> the bsp arent just triangles) because this is how OPCODE asks you to
> do. In the end it returns you a list of primitives (triangles) that
> you have collided. You can do Mesh<>Mesh, Sphere<>Mesh etc.
> collisions. Im doing Sphere<>Mesh collision (Sphere being the player)
> with the whole BSP (BSP world being the mesh). It is workin fine for
> me and hardly has some overhead atleast in term of performance. It
> takes a bit of a setting up time + memory which doesnt matter.
> >
> > So if you just wanna do the collision detection, you can use OPCODE
> easily but if you have time, I would also recommend you checking my
> post in the archive where someone has posted some good links which can
> help you detecting the collisions between a sphere/ray etc. directly
> with BSP (BSP being the optimized collision tree here). Apart from
> this, I suppose if you simple get the visible faces list (which you
> eventually get just before rendering), you can also apply simple
> sphere<>plane collision to all the faces or somethin like that..I
> guess it wont have much overhead either.
> >
> > Now when it comes to Collision Response, I'm having some problems
> (due to my weak maths) which im gonna question in a seperate post. So
> if you know anything, read that and please answer.
> >
> > Thanks,
> > Bilal
> >
> > ----- Original Message -----
> > From: "Aras Pranckevicius" <nearaz@interamotion.com>
> > Date: Mon, 5 May 2003 14:05:49 +0200
> > To: <ode@q12.org>
> > Subject: Re: [ODE] BSP And ODE?
> >
> > > > Im using Quake 3 BSP maps in my Engine, but Im trying to use ODE
> with it..
> > > > What is the best way to use ODE with BSP files? I want objects
> to bounce
> > > > round my map.
> > > > BSP files are made up of lots of static faces that I would want
> ODE to
> > > class
> > > > as solid unmovable walls.
> > > > Please take time answering in as much detail as possible.
> > >
> > > There was a thead on this subject not long ago "BSP and ODE's
> collision
> > > system" - around April 21st...
> > >
> > > In short: in it's current implementation, ODE's collision system
> has no
> > > native support for BSP. You can try to do several things:
> > > 1. use some other collision detection library and skip ODE's
> collision part
> > > (and still use ODE's physics sim part)
> > > 2. implement and plug BSP collider into ODE's collision system :)
> > > 3. approximate your walls and other geometry by bunch of native
> ODE
> > > collision primitives (boxes, etc.).
> > > 4. build a triangle mesh (or, better, several meshes) from your
> level
> > > geometry and use TriCollider contribution for collision.
> > >
> > >
> > > Aras Pranckevicius aka NeARAZ
> > > http://www.gim.ktu.lt/nesnausk/nearaz/
> > >
> > > _______________________________________________
> > > ODE mailing list
> > > ODE@q12.org
> > > http://q12.org/mailman/listinfo/ode
> >
> > --
> > __________________________________________________________
> > Sign-up for your own FREE Personalized E-mail at Mail.com
> > http://www.mail.com/?sr=signup
> >
> > _______________________________________________
> > ODE mailing list
> > ODE@q12.org
> > http://q12.org/mailman/listinfo/ode
> 
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode

-- 
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup