PDA

View Full Version : General questions about GLScene (speed, sprites, collision)



splattergnome
07-01-2007, 04:16 PM
I am currently informing myself about alternatives to Omega and the like, and GLScene seems to include those features that I am interested. However, I was wondering: how good is the collision detection system included? Can it detect collisions between different objects types? What about with sprites? Can it detect rotated or scaled sprites with transparent (non-existent pixels?). How fast is GLScene on different computers?

And I was wondering if there are any GUI libraries/extensions already out for GLScene - making a GUI from scratch in a graphic renderer was always my least favorite work. :oops:

Thank you for your comments!

Almindor
08-01-2007, 09:45 AM
The basic collision detection mechanism can work on cube, sphere and freeform IIRC.

I don't know much about sprites.

GUI doesn't work in linux yet so I don't know much about that either.

GLScene has ODE integrated so you might get some better collision detection with that. There's also a DCE dynamic engine for collisions and movement with gravity and a few nifty tricks.

JernejL
08-01-2007, 12:50 PM
if you're going to use glscene use it with newton dynamics glscene plugin!!! it is much better solution.

Zampoteh
27-01-2007, 02:38 AM
I am currently informing myself about alternatives to Omega and the like, and GLScene seems to include those features that I am interested. However, I was wondering: how good is the collision detection system included? Can it detect collisions between different objects types? What about with sprites?

Look at functions in that unit:
http://glscene.cvs.sourceforge.net/glscene/Source/GLCollision.pas?revision=1.16&view=markup

116 function FastCheckPointVsPoint(obj1, obj2 : TGLBaseSceneObject) : Boolean;
117 function FastCheckPointVsSphere(obj1, obj2 : TGLBaseSceneObject) : Boolean;
118 function FastCheckPointVsEllipsoid(obj1, obj2 : TGLBaseSceneObject) : Boolean;
119 function FastCheckPointVsCube(obj1, obj2 : TGLBaseSceneObject) : Boolean;
120 function FastCheckSphereVsPoint(obj1, obj2 : TGLBaseSceneObject) : Boolean;
121 function FastCheckSphereVsSphere(obj1, obj2 : TGLBaseSceneObject) : Boolean;
122 function FastCheckSphereVsEllipsoid(obj1, obj2 : TGLBaseSceneObject) : Boolean;
123 function FastCheckSphereVsCube(obj1, obj2 : TGLBaseSceneObject) : Boolean;
124 function FastCheckEllipsoidVsPoint(obj1, obj2 : TGLBaseSceneObject) : Boolean;
125 function FastCheckEllipsoidVsSphere(obj1, obj2 : TGLBaseSceneObject) : Boolean;
126 function FastCheckEllipsoidVsEllipsoid(obj1, obj2 : TGLBaseSceneObject) : Boolean;
127 function FastCheckEllipsoidVsCube(obj1, obj2 : TGLBaseSceneObject) : Boolean;
128 function FastCheckCubeVsPoint(obj1, obj2 : TGLBaseSceneObject) : Boolean;
129 function FastCheckCubeVsSphere(obj1, obj2 : TGLBaseSceneObject) : Boolean;
130 function FastCheckCubeVsEllipsoid(obj1, obj2 : TGLBaseSceneObject) : Boolean;
131 function FastCheckCubeVsCube(obj1, obj2 : TGLBaseSceneObject) : Boolean;
132 function FastCheckCubeVsFace(obj1, obj2 : TGLBaseSceneObject) : Boolean; //experimental
133 function FastCheckFaceVsCube(obj1, obj2 : TGLBaseSceneObject) : Boolean; //experimental
134 function FastCheckFaceVsFace(obj1, obj2 : TGLBaseSceneObject) : Boolean;

About sprites. What is sprites ? Points ? So it easy.
About scale. Yes, but i remember about some troubles some times ago. Just test it.

scarletsnake
15-06-2007, 11:02 AM
I dont know about the sprites part but the DCE managers & physics are state-of-the-art and customizable. You have to play a little bit here and there, but the results are most satisfying.