I wont speak for him here, but Teravus has looked at PAL repeatedly in the past 
with a general result of 'Not ready yet, check again later.'

Adam

From: [email protected] 
[mailto:[email protected]] On Behalf Of Dahlia Trimble
Sent: Wednesday, 30 September 2009 6:24 PM
To: [email protected]
Subject: Re: [Opensim-dev] Mega Regions and PAL support in OpenSim?

OpenSim already has an abstraction layer for physics engines, and several 
engines have been interfaced already. ODE is probably the most complete 
implementation. There are also some implementations that exist outside of core, 
most notably the Mica N-body simulation on forge.

We're watching PAL and may consider it when we find it to be sufficient for use 
with OpenSim. Another factor to consider is the majority of OpenSim developers 
are unpaid volunteers and it's difficult to find people who have the knowledge 
and expertise for implementing physics simulations and are willing to donate 
their time and services. If you have this expertise or know of someone else who 
would be willing to help implement PAL then please do consider creating a PAL 
module and donating it to the community.
On Wed, Sep 30, 2009 at 5:24 PM, Mark Malewski 
<[email protected]<mailto:[email protected]>> wrote:


What are your thoughts about implementing PAL into OpenSim?




The Physics Abstraction Layer<http://pal.sourceforge.net/> (PAL) provides a 
unified interface to a number of different physics engines. This enables the 
use of multiple physics engines within one application. It is not just a simple 
physics wrapper, but provides an extensible plug-in architecture for the 
physics system, as well as extended functionality for common simulation 
components.

PAL provides a number of benefits to game and simulation developers. First of 
all PAL is veryeasy to use, so you can easily integrate physics into your 
application. Secondly, it does not restrict you to one particular physics 
engine. This gives you more flexibility, allowing you to easily upgrade your 
physics system if you decide to pursue a commercial engine, select different 
engines for alternative platforms, or swap to another engine if the physics 
engine developers stop development and support for their engine. This 
flexibility allows you to choose the engine that gives you the best performance 
for your application. Finally, PAL has an extensive set of common features such 
as simulating different devices or loading physics configurations from XML, 
COLLADA<http://www.collada.org/> and Scythe<http://www.physicseditor.com/> 
files.

PAL makes physics development FLEXIBLE, FAST and EASY.
PAL supports a large number of physics 
engines<http://www.adrianboeing.com/pal/engines.html>. It provides a unique 
interface for:

 *   Physics Engines

    *   Box2D<http://www.adrianboeing.com/pal/engines.html#box2d> (experimental)
    *   Bullet<http://www.adrianboeing.com/pal/engines.html#bullet>
    *   
Dynamechs<http://www.adrianboeing.com/pal/engines.html#dynamechs>(deprecated)
    *   Havok<http://www.adrianboeing.com/pal/engines.html#havok> (experimental)
    *   IBDS<http://www.adrianboeing.com/pal/engines.html#ibds> (experimental)
    *   JigLib<http://www.adrianboeing.com/pal/engines.html#jig>
    *   Meqon<http://www.adrianboeing.com/pal/engines.html#meqon>(deprecated)
    *   Newton<http://www.adrianboeing.com/pal/engines.html#newton>
    *   ODE<http://www.adrianboeing.com/pal/engines.html#ode>
    *   OpenTissue<http://www.adrianboeing.com/pal/engines.html#ot>
    *   PhysX (a.k.a Novodex, Ageia PhysX, nVidia 
PhysX)<http://www.adrianboeing.com/pal/engines.html#novodex>
    *   Simple Physics Engine<http://www.adrianboeing.com/pal/engines.html#spe>
    *   Tokamak<http://www.adrianboeing.com/pal/engines.html#tokamak>
    *   TrueAxis<http://www.adrianboeing.com/pal/engines.html#trueaxis>

 *   File Formats

    *   Collada<http://www.adrianboeing.com/pal/benchmark.html#COLLADA>
    *   Scythe<http://www.adrianboeing.com/pal/benchmark.html#Scythe>
    *   PAL XML(deprecated)

 *   Collision subsystem
 *   Solver subsystem (Multithreaded / Hardware acceleration)
 *   Bodies (Static and Dynamic)

    *   Box
    *   Capsule
    *   Compound Bodies
    *   Convex
    *   Sphere

 *   Geometries

    *   Box
    *   Capsule
    *   Convex Mesh
    *   Concave Mesh (Terrain)
    *   Height field (Terrain)
    *   Plane (Terrain)
    *   Sphere

 *   Links

    *   Spherical (Ball and Socket) Link
    *   Revolute (Hinge) Link
    *   Prismatic (Slider) Link
    *   Generic 6DOF Link

 *   Sensors

    *   Contact
    *   Compass (Angular position)
    *   GPS (Global Positioning System - Position)
    *   Gyroscope (Angular velocity)
    *   Inclinometer (Angular position)
    *   PSD (Position Sensitive Device - Ray casting)
    *   Sonar (Ray casting)
    *   Velocimeter (Linear velocity)
    *   Transponder (Distance between two objects)

 *   Actuators

    *   Force actuator (Generic)
    *   DC Motor
    *   Servo Motor
    *   Hydrofoil
    *   Propeller
    *   Spring

 *   Fluids

    *   Particle Fluids (SPH)
    *   Grid-Based Fluids (Dampened Shallow Wave)
    *   Buoyancy Force
    *   Drag & Lift Forces

 *   Vehicles


Physics Abstraction Layer:

http://www.adrianboeing.com/pal/index.html


           Mark


On Wed, Sep 30, 2009 at 7:10 PM, Mark Malewski 
<[email protected]<mailto:[email protected]>> wrote:
Toni,

With the "MegaRegions" support it allows regions that are 8,192m x 8,192m 
(instead of 256m x 256m), which would be great for vehicles and boats.

The new "MegaRegions" is the equivalent of up to 1,024 of the old size regions!

So I think that is a VERY decent size, and that would solve the "handshake" 
problem between the old small 256m x 256m regions.

The new larger MegaRegions would eliminate the current border crossings problem.

MegaRegions seems to be in the OpenSim Trunk right now.  A 1,024 region system 
(8,192m x 8,192m) would only require about 5GB of memory to host.  You can make 
regions any size (it's only dependent upon the amount of ram the server has).

So I think this is a great idea, and I can't imagine anyone wanting to host 
more than 1,024 regions on a single server.  I have dual quad-core XEON's 
(8-cores) and 32GB of ram, and I think this would be great for hosting a single 
1,024 region RealXtend demo region!

Is there any possibility we can get this new MegaRegions feature implemented 
and to work properly with OpenSim/ModRex?

Also, what are your thoughts of replacing the OpenSim/ModRex Physics subsystem 
with PAL?

Using PAL (Physics Abstraction Layer), it is an OpenSource wrapper for several 
physics engines (allowing for seamless integration of Bullet, JigLib, Newton, 
ODE, nVidia PhysX, Tokamak, and TrueAxis).  PAL also has experimental support 
for Box2D, Havok, IBDS, OpenTissue and Simple Physics Engine.

But if we implemented PAL into RealXtend, at least we could have seamless 
integration of multiple Physics engines (including PhysX), and with PhysX we 
could have hardware accelerated Physics, and if you have a server with a 
GeForce 8000 series card or higher then the graphics card would perform all the 
Physics calculations, thus taking the load off of the CPU (greatly reducing the 
lag).

If we get into a sim with racing or boating, we definitely want 
hardware-accelerated physics, or at least something better than what ODE can 
handle.  The use of the Physics Abstraction Layer would definitely open up new 
possibilities and streamline the physics code (allowing various physics engines 
to be used).

PhysX and Havok are free for personal use.  What are your thoughts on 
implementing PAL into RealXtend/ModRex, and implementing the OpenSim MegaRegion 
support into RealXtend/ModRex?

I believe these are the only three major hurdles that we have left (the Naali 
Viewer, MegaRegion support, and PAL support).

What are your thoughts on this?

                  Mark



_______________________________________________
Opensim-dev mailing list
[email protected]<mailto:[email protected]>
https://lists.berlios.de/mailman/listinfo/opensim-dev

_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to