Commit Graph

741 Commits (add47befacb0397f2a0b5c9455ed1e658616aba4)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 6d88c96e01 minor: remove mono compiler warning 2009-11-11 18:49:05 +00:00
dahlia 3e22bb24f5 add an overload to _SculptMesh for meshing from a list of coordinates
add conditional compilation for System.Drawing dependency
2009-11-09 18:44:03 -08:00
Justin Clark-Casey (justincc) a88a463b50 Following various discussions on irc and in the OpenSim dev OSGrid meeting last week, change av_capsule_tilted to false by default
This appears to now give better ODE physics response (less sinking into the ground, etc.)
Please change it back if this is actually a bad idea for some reason
2009-11-09 19:26:42 +00:00
Justin Clark-Casey (justincc) 3274bc39c8 minor: remove some mono compiler warnings 2009-11-09 17:43:32 +00:00
Justin Clark-Casey (justincc) af0e5d0974 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-03 19:11:09 +00:00
Justin Clark-Casey (justincc) 1d737b010c minor: remove some mono compiler warnings 2009-11-03 18:52:20 +00:00
dahlia 82554e9a89 Delete depricated extrusion methods and redirect to universal extrude method.
Sync with PrimMesher.cs r47 on forge.
2009-11-02 22:24:58 -08:00
John Hurliman 7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman 1c9696a9d2 Always send a time dilation of 1.0 while we debug rubberbanding issues 2009-10-28 15:11:01 -07:00
John Hurliman a069a1ee68 Limit physics time dilation to 1.0 2009-10-28 14:44:05 -07:00
John Hurliman a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman ee0f7e10c8 Fixed a bad check on velocity in the ODE near() callback (it was only checking for velocity in certain directions, and was calling the get_Velocity() function three times) 2009-10-28 12:20:34 -07:00
John Hurliman 2d470f8bde Switching sculpty from CSJ2K back to OpenJPEG for now until more kinks are ironed out 2009-10-28 01:48:53 -07:00
John Hurliman e31024f08b Print the exception message when CSJ2K decoding fails for sculpty textures 2009-10-28 01:30:39 -07:00
John Hurliman 0c466b28bb Move the calculation of time dilation from the scene to the physics engine. The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking 2009-10-27 16:24:43 -07:00
KittoFlora 1113b3b6eb Merge branch 'vehicles' into tests
Conflicts:

	OpenSim/Region/Physics/Manager/PhysicsActor.cs
	OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
2009-10-27 22:42:55 +01:00
KittoFlora a81a16f22f llRotLookAt Pt 2 2009-10-27 19:56:39 +01:00
John Hurliman f5cad91578 * Switched from OpenJPEG to CSJ2K in Meshmerizer
* Tested the previous patch and found no regressions
2009-10-26 19:03:55 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
John Hurliman 119cf80e13 Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system 2009-10-26 15:52:59 -07:00
Dan Lake 428bd7a74b No need to create dupe TriMeshData for ODE. A previous patch created a 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. 2009-10-26 15:14:19 -07:00
John Hurliman ff4b45a1e3 Do case-insensitive comparisons on region names in LLStandaloneLoginModule 2009-10-26 15:12:43 -07:00
John Hurliman ac7ccdf7d7 * Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00
KittoFlora 8428b25939 Add llRotLookat pt1. 2009-10-26 00:10:23 +01:00
John Hurliman 730930955a Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff

* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()

* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
dslake 8ba3afb59b Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: Inconsistent locking of ODE tainted prims 2009-10-23 12:14:05 -04:00
Teravus Ovares (Dan Olivares) f34e8adffb * Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright. 2009-10-22 18:28:42 -04:00
KittoFlora 91084653bd Commented out instrumentation in ODEPrim.cs 2009-10-22 21:14:00 +02:00
KittoFlora 227c832d3b Commented out instrumentation in ODEPrim.cs 2009-10-22 19:15:35 +01:00
Melanie c4969d47d9 Merge branch 'master' into vehicles 2009-10-22 07:12:10 +01:00
John Hurliman 8151190a45 * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
John Hurliman 72078195c2 Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:20:38 -07:00
John Hurliman bd03cbd815 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:19:37 -07:00
Diva Canto 590d91e572 Forgot {} on last commit. 2009-10-19 15:03:55 -07:00
Diva Canto 2dd8a6beac More instrumentation in physics. 2009-10-19 14:48:17 -07:00
Melanie ffd59868f5 Merge branch 'master' into vehicles 2009-10-19 21:58:51 +01:00
John Hurliman 6d04a213d6 Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-18 20:25:16 -07:00
Jeff Ames 0d29614ca1 Formatting cleanup. 2009-10-19 08:58:03 +09:00
Diva Canto baed19d068 A bit of instrumentation to figure out what's going on with physics actors. 2009-10-18 16:48:44 -07:00
John Hurliman 2f2eeb6731 Zero out PrimitiveBaseShape.SculptData after the JPEG2000 data has been decoded to allow garbage collection on it 2009-10-18 02:53:36 -07:00
Teravus Ovares (Dan Olivares) 01051daaab * One more tweak to inform the user that they may not be able to move until relogging. 2009-10-16 21:24:08 -04:00
Teravus Ovares (Dan Olivares) d49424c421 * After seeing it repeat over and over again.. again, We won't inform the scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon. 2009-10-16 21:20:55 -04:00
Teravus Ovares (Dan Olivares) 0079d0a7c4 * One more attempt at the NullRef In The OdePlugin. This might fix it, but it will definitely get us closer to the root cause. 2009-10-16 14:30:55 -04:00
Teravus Ovares (Dan Olivares) 1f28c6208b * Added a message for when the null reference exception occurs to make debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring. 2009-10-16 03:40:44 -04:00
Teravus Ovares (Dan Olivares) ac2f98b846 * A hacky attempt at resolving mantis #4260. I think ODE was unable to allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now.
* The broken avatar may not be able to move, but it won't stop simulate from pressing on now.   And, the simulator will try to destroy the avatar's physics proxy and recreate it again...    but if this is what I think it is, it may not help.
2009-10-16 03:32:30 -04:00
Melanie 6deef7d0f3 Merge branch 'master' into vehicles 2009-10-15 21:14:13 +01:00
John Hurliman 3828b3c0e8 * Eliminated unnecessary parameters from LLUDPServer.SendPacketData()
* Changed PrimMesher's Quat.Identity to return <0,0,0,1> instead of <0,0,0,1.1>
2009-10-13 10:38:35 -07:00
Melanie 70553a979e Merge branch 'master' into vehicles 2009-10-12 15:12:15 +01:00
Melanie 50f509d600 Merge branch 'master' into vehicles 2009-10-12 15:11:01 +01:00
unknown fe0940a22f Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms) 2009-10-12 01:53:57 -07:00
dahlia 7b4183d7a0 sync PrimMesher with r46 2009-10-11 02:12:17 -07:00
dahlia 41b27ef064 disambiguate System.Path (preparation for new PrimMesher) 2009-10-11 01:30:24 -07:00
Teravus Ovares (Dan Olivares) 8271528b1f * comment out the velocity test, using updates every 500 ms as set in ScenePresence.AddToPhysicalScene.
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms.
* This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
2009-10-10 04:01:36 -04:00
Teravus Ovares (Dan Olivares) 4ffe936ba8 * Make ODECharacter respect the scene's requested collision update time
* Set the Scene collision update time to 500 ms
2009-10-10 03:53:53 -04:00
Melanie d06c7d90a1 Correct a build break caused by an optimization in trunk 2009-10-07 06:56:00 +01:00
Melanie 0374f1b144 Merge branch 'master' into vehicles 2009-10-06 17:44:59 +01:00
Justin Clark-Casey (justincc) 10c4b88ccf minor: remove mono compile warning 2009-10-05 18:20:37 +01:00
Melanie 8d5a40aad0 Merge branch 'master' into vehicles 2009-10-05 12:58:52 +01:00
Dan Lake 6d52974c5f Eliminate pinned Mesh data on managed heap by using IntPtrs to memory 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. 2009-10-05 12:45:41 +01:00
Melanie 0744292b47 Merge branch 'master' into vehicles 2009-10-05 10:17:23 +01:00
dahlia 5c593f3892 only cache mesh if meshing was successful
re-enable sculpt mesh caching
2009-10-04 20:01:44 -07:00
dahlia 95ebb7794c flexible extrusion shape defaults to linear 2009-10-04 02:59:12 -07:00
dahlia 0cbd9eee2f Exclude sculpt proxies from mesh caching 2009-10-04 02:14:13 -07:00
Melanie 9eccea5777 Merge branch 'master' into vehicles 2009-10-02 19:53:42 +01:00
Melanie 31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
Melanie 41ff39414b Merge branch 'master' into vehicles 2009-10-01 14:08:15 +01:00
Diva Canto 1eb6f99d19 Create j2k cache directory if it doesn't exist. The Meshmerizer needs it there. 2009-09-30 20:27:40 -07:00
Jeff Ames 606e831ff5 Formatting cleanup. 2009-10-01 09:38:36 +09:00
Kitto Flora 07df0e0ab0 Merge branch '0.6.7-post-fixes' into vehicles 2009-09-30 19:07:18 +02:00
opensim 827b0fb199 Commit initial version of KittoFlora's vehicle changes 2009-09-30 18:51:02 +02:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Jeff Ames f00126dc2d Add copyright header. Formatting cleanup. 2009-09-29 08:32:59 +09:00
dahlia fb2cabd6b3 corrections to viewerMode AddPos() 2009-09-25 13:01:48 -07:00
Dan Lake 1b2828f5d8 Meshmerizer stores dictionary of unique Meshes keyed on construction 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>
2009-09-24 18:20:59 -07:00
dahlia daffb69174 modify BulletDotNETPrim.cs in preparation for Mantis #4181 2009-09-24 18:16:29 -07:00
nlin 56edbe9b60 Alternate algorithm for fixing avatar capsule tilt (Mantis #2905)
Eliminate dynamic capsule wobble. Instead introduce a small, fixed
tilt, and allow the tilt to rotate with the avatar while moving; the
tilt always faces away from the direction of avatar movement. The
rotation while moving should eliminate direction-dependent behavior
(e.g. only being able to climb on top of prims from certain directions).

Falling animation is still too frequently invoked.

Ideally the tilt should be completely eliminated, but doing so
currently causes the avatar to fall through the terrain.
2009-09-18 11:39:08 +09:00
Justin Clark-Casey (justincc) 0683cf6e0d Add test to check behaviour if an iar is loaded where no user profile exists for the creators
Disable generation of temporary profiles for now, instead record loading user as creator
2009-09-09 18:03:49 +01:00
Teravus Ovares (Dan Olivares) b93f512433 * Fix for GetTerrainHeightAtXY to make it compatible when Constants.RegionSize isn't 256 2009-09-04 02:48:07 -04:00
Teravus Ovares (Dan Olivares) bb5857c4bb * Fixes the function 'GetTerrainHeightAtXY' 2009-09-04 00:03:54 -04:00
dahlia 6cf610bc44 eliminate unnecessary storage of mesh objects which are no longer necessary after recent startup optimizations 2009-09-02 17:40:55 -07:00
Jeff Ames 56ddd6828c Add copyright headers. Formatting cleanup. 2009-09-03 02:04:17 +09:00
Teravus Ovares (Dan Olivares) 9505297fb1 * One last attempt to get the bordercrossing/primcrossing/attachmentcrossing right in the new border framework.
* This also contains some inactive preliminary code for disconnecting combined regions that will be used to make one root region a virtual region of a new root region.
2009-09-02 04:39:00 -04:00
Melanie f32de6fe88 Thank you, dslake, for a set of patches to improve OpenSim startup
and idle performance.
2009-09-02 03:33:31 +01:00
Melanie c89fc36f28 Applying Mantis #4079. Thank you, dslake 2009-09-01 02:17:08 +01:00
Teravus Ovares (Dan Olivares) 54e05a083d Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-08-26 11:48:05 -04:00
Jeff Ames cf2d1b5c10 Add copy constructor to PhysicsVector. 2009-08-26 14:28:54 +09:00
Jeff Ames 256624566f Formatting cleanup, minor refactoring. 2009-08-26 14:02:01 +09:00
Teravus Ovares (Dan Olivares) e1b38ff001 * It turns out that Physics heightmap values were being stored in managed memory in _heightmap and using multiple heightmaps caused them all to overwrite each other and the last one was the heightmap for all of the regions. This fixes that. It also reduces the terrain resolution to half. 2009-08-21 13:22:49 -04:00
Teravus Ovares (Dan Olivares) 64dcb71c14 * Fixes Terrain issues with combined regions. 2009-08-20 23:26:40 -04:00
Teravus Ovares (Dan Olivares) 311b51a184 *remove conflicts 2009-08-18 11:09:43 -04:00
Teravus Ovares (Dan Olivares) c54cb59a71 * Some Physics Scene Changes to prepare for larger regions 2009-08-18 11:05:07 -04:00
Melanie 9ad3e72ae1 Did I say that i don't like git? Remove some stuff that shouldn't have
gone in.
2009-08-17 22:06:51 +01:00
Melanie 644db1e540 Add System.Xml reference to the console project 2009-08-17 09:40:38 +01:00
Jeff Ames 9d9fcac038 Misc cleanup. 2009-08-16 17:14:21 +09:00
Teravus Ovares (Dan Olivares) 30ce56e721 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-08-15 13:10:21 -04:00
Teravus Ovares (Dan Olivares) 8000812700 * part one of adding physics combining 2009-08-15 13:10:10 -04:00
Jeff Ames 1123a326ab Formatting cleanup. Fix some compiler warnings. 2009-08-13 15:43:24 +09:00
Jeff Ames 3e247a8eaa Minor: formatting cleanup. 2009-08-11 00:32:59 +09:00
Jeff Ames 8863092f7c Split BasicPhysics classes into separate files. 2009-08-11 00:32:59 +09:00
Teravus Ovares (Dan Olivares) e88903f481 * Fix one physics crash for regions larger then 512mx512m 2009-08-08 10:38:53 -04:00