| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch.
|
|
|
|
| |
consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
|
| |
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
|
|\ \
| |/ |
|
| |
| |
| |
| | |
allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
parameters. CreateMesh() returns a Mesh from the dictionary or creates a new Mesh if it has not been created before. Meshes are never purged from the dictionary. The raw Mesh data is discarded once the memory is pinned for ODE use. All copies of the same prim/mesh use the same pinned memory. ONLY IMPLEMENTED AND TESTED WITH MESHMERIZER AND ODE
Signed-off-by: dahlia <dahliaTrimble@gmailDotCom>
|
|/ |
|
|
|
|
| |
and idle performance.
|
| |
|
|
|
|
| |
lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions.
|
| |
|
|
|
|
| |
LICENSE.txt.
|
|
|
|
|
|
| |
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
|
|
|
|
|
| |
* Define low friction and medium bounce for Glass
|
|
|
|
|
| |
* Vertical Attractor servo
|
|
|
|
|
|
|
| |
causing issues.
* Tweak the ODEPrim PID a bit more.
|
|
|
|
|
|
| |
* Tweak the LLSetStatus results in the ODEPlugin. Hopefully it's a little less unstable.
* ODEPlugin is using experimental math for LLSetStatus, use with caution! :)
|
|
|
|
|
| |
* Vehicles do NOT work. This is just organization and a bit of logical code to make doing vehicles easier
|
| |
|
|
|
|
|
|
| |
* Now validating input to the Physics scene and warning when something is awry.
* This should help nail down that Non Finite Avatar Position Detected issue.
|
| |
|
|
|
|
|
|
|
| |
in the ODEPlugin
* This may help one of the symptoms or mantis 3363 , however it probably won't solve the occasional NonFinite Avatar Position detected.. issues that some people see. That is probably an entirely different issue(NaN).
|
|
|
|
|
|
|
| |
prim. Without this the velocity gets sent to the client and the prim appears to move.
Fixes Mantis #3303
|
|
|
|
|
|
|
| |
* Add some comments to the Wind Module
* Add the BinBVH decoder/encoder as a scene object (to encode/decode animations programmatically).
* Add m_sitState for upcoming code to improve sit results.
|
|
|
|
| |
llMoveToTarget. Currently, it's 350 times the mass in newtons applied per second, maximum.
|
|
|
|
|
|
|
|
|
|
| |
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does,
and it should recalculate the absolute height to hover at as an object moves to reflect
the current ground/water height under it.
Correctly implementing required adjusting the Physics interfaces and implementing at
the physics plug-in level. The attached is a patch that correctly implements
llSetHoverHeight() including updates to the ODE physics plug-in.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
|
| |
|
|
|
|
|
|
| |
subclassing; also add new method signatures. Thanks tuco and mikkopa.
Fix Mantis #3072.
|
|
|
|
|
|
|
|
|
| |
- Adapted code to match the corrected signatures
- Fixes Mantis #2934. Hopefully.
Note: Physics on linked objects still don't work correctly:
It doesn't crash the region anymore, but the example object in
the mentioned mantis now falls through the ground.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Thanks nlin!
* To try it out, set ninja joints active in the ODEPhysicsSettings
and use the example at:
* http://forge.opensimulator.org/gf/download/frsrelease/142/304/demo-playground.tgz.
* Don't forget to change the .tgz to .oar and load it with load-oar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On a call of llVolumeDetect(1) (or any other number !=0) volume
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again,
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM,
false) while VD is active, also VD is switched off. The same is true for
unchecking the phantom flag via GUI. This allows to take back VD without
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag.
This needs more discussion and will be included in another patch soon.
|
|
|
|
|
|
|
| |
ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change. Torque property and AddAngularForce
|
| |
|
|
|
|
|
| |
* Sums up the masses of the objects within a physical linkset
|
|
|
|
|
|
| |
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
|
|
|
|
|
|
|
|
| |
linked prim more stable and probably the last obstacle to vehicles physics wise.
* Fixed a bug that caused physics proxies to be scattered when you link an object.
* Single physical prim work exactly the same as before, just linked physical prim will have changed.
|
|
|
|
|
| |
calculating mass.
|
|
|
|
|
|
|
|
| |
the same instance.
* If you are hosting many regions on a single instance, you will probably notice a decrease in region startup time and maybe a slight increase in performance.
* Single regions won't notice anything different
|
|
|
|
|
|
|
|
|
| |
* Re-enabled the native ODE prim types when possible
* Fixed several invalid assumptions in the prim recycle process.
* Added better message for 'reused a disposed physicsactor'
* Added a way to recover from errors during collision_optimized
* Added a way to recover from an error condition where prim_geom wasn't reset properly
|
|
|
|
|
|
| |
subroutine down through the physics modules through PhysActor
and SceneObjectPart. No connection to the physics simulators.
|
|
|
|
|
|
| |
in the classes between the LSL implementation and the
underlying physics engines.
|