[Opensim-dev] Mega Regions and PAL support in OpenSim?
Dahlia Trimble
dahliatrimble at gmail.com
Thu Oct 1 01:23:56 UTC 2009
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 <mark.malewski at gmail.com>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 very*easy 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 <mark.malewski at gmail.com>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
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20090930/848bc74a/attachment-0001.html>
More information about the Opensim-dev
mailing list