Commit Graph

1475 Commits (7a17c3720bfbb3ef042928a2f84ca8c3604e61c5)

Author SHA1 Message Date
Robert Adams 3cb65f0d31 BulletSim: when meshing or asset fetching fails, include position
and region with the offending object's name in the error message.
2013-06-11 17:58:08 -07:00
Robert Adams 795acaa6aa BulletSim: add failure flag for meshing failure vs asset fetch failure
so error messages make more sense.
Change some BulletSim status log messages from WARN to INFO.
Update TODO list.
2013-06-10 14:12:45 -07:00
Robert Adams b5d0ac4c42 BulletSim: default PhysicsTimeStep to same as the simulator's
heartbeat timestep when running the physics engine on a separate
thread. This reduces the occurance of heartbeats that happen when
there is no physics step which is seen as vehicle jerkyness.
2013-06-05 07:12:14 -07:00
Robert Adams 0c971d148c BulletSim: fix corner case when rebuilding a compound linkset while
a mesh/hull while a mesh or hull is being rebuilt when its asset
is fetched. This fixes a 'pure virtual function' crash when changing
physical state of complex linksets that include many meshes.
2013-06-05 07:09:43 -07:00
Robert Adams 07058b044b BulletSim: experimental movement of physics execution off of heartbeat
thread. Off by default until more testing.

Setting "[BulletSim]UseSeparatePhysicsThread=true" causes the physics
engine to be called on its own thread and the heartbeat thread only
handles the reporting of property updates and collisions. Physics frame
rate is about right but physics execution time goes to zero as accounted
by the heartbeat loop.
2013-06-01 14:52:44 -07:00
Robert Adams ae0d6ab28a BulletSim: don't zero motion when changing vehicle type.
Some vehicle scripts change type on the fly as an easy way of setting
all the parameters (like a plane changing to a car when on the ground).
2013-05-28 09:19:08 -07:00
Robert Adams 7c3a46ccea BulletSim: default using mesh asset hulls to 'true'. This means that,
if the mesh asset specifies physics hulls, BulletSim will fetch and
use same rather than approximating the hulls. If physics hulls are not
specified, the representation will fall back to the regular physics mesh.
2013-05-27 14:38:59 -07:00
Robert Adams 0c35d28933 BulletSim: enable GImpact shape for prims with cuts. Include DLLs and SOs
which recompute GImpact shape bounding box after creation as Bullet
doesn't do that itself (something it does for nearly every other shape).

Now, physical prims without cuts become single mesh convex meshes. Physical
prims with cuts become GImpact meshes. Meshes become a set of convex
hulls approximated from the mesh unless the hulls are specified in the
mesh asset data. The use of GImpact shapes should make some mechanical
physics more stable.
2013-05-26 17:35:12 -07:00
Robert Adams 1821372634 Meshmerizer: remember to add the copied hull verts to the list of hulls. 2013-05-24 16:32:19 -07:00
Robert Adams 5f1f5ea5ab BulletSim: add VehicleInertiaFactor to allow modifying inertia.
Another parameter for vehicle operation tuning.
Default to <1,1,1> which means nothing is different under normal use.
2013-05-24 16:24:16 -07:00
Robert Adams 4979940def BulletSim: properly set mesh hash key in use tracking structure.
Shouldn't see any functional difference.
2013-05-24 16:23:10 -07:00
Robert Adams 81a6c39781 Meshmerizer: add INI parameter to enable DEBUG mesh detail logging.
Default to off.
To turn mesh parsing DEBUG detail logging on, add
    [Mesh]
        LogMeshDetail=true
to the INI file.
2013-05-24 16:20:26 -07:00
dahlia 440905ad14 change a hull debugging message to Debug instead of Info 2013-05-24 10:31:14 -07:00
dahlia 0cdea5c2f3 correct some errors in decoding of mesh asset convex decomposition data 2013-05-24 01:53:37 -07:00
dahlia c5549d2730 add decoder for bounding convex hull 2013-05-23 15:47:47 -07:00
Robert Adams 0e002e3693 Add DEBUG level logging in Meshmerizer for mesh parsing. There is
a compile time variable to turn this logging off if it is too spammy.
2013-05-23 14:41:05 -07:00
Robert Adams 29b3b44fab BulletSim: add locking around Meshmerizer use to eliminate possible race
condition when extracting the convex hulls.
2013-05-23 14:40:16 -07:00
Robert Adams 5efce21abc BulletSim: correct errors caused by misspelled INI parameter spec.
Add debugging messages for hull asset use.
2013-05-22 21:57:07 -07:00
Robert Adams ffc9b3dda7 BulletSim: add code to experimentally use asset hull data.
Default to 'off' as it needs debugging.
2013-05-22 21:01:00 -07:00
Robert Adams 61cdf9390d BulletSim: fix problem with walking up stairs that are oriented
in certain directions. The problem was really that the avatar capsule
orientation was being set incorrectly.
2013-05-22 16:06:06 -07:00
Robert Adams 6596a1de80 Revert "BulletSim: add code to experimentally use asset hull data."
This reverts commit 2fd8819a04.

Remove this code until I can figure out why the references that are
clearly in prebuild.xml doesn't work for the
'using OpenSim.Region.Physics.Meshing' in BSShape.cs.
2013-05-21 22:16:18 -07:00
Robert Adams 2fd8819a04 BulletSim: add code to experimentally use asset hull data.
Default to 'off' as it needs debugging.
2013-05-21 21:32:30 -07:00
Robert Adams 9de3979f5b BulletSim: add gImpact shape type. Add logic to use gImpact shape
for prims that have cuts or holes. Default logic to 'off' as it
needs debugging.
2013-05-21 15:32:10 -07:00
Robert Adams ece7b33a96 Merge branch 'master' of git://opensimulator.org/git/opensim 2013-05-21 15:31:13 -07:00
dahlia e65d1e459e fix error in hull point indexing 2013-05-18 13:11:22 -07:00
dahlia 477bee6468 remove duplicate hull scaling 2013-05-18 11:15:05 -07:00
dahlia fa8f5bafb2 add prototype code to decode convex hulls from mesh assets. Please do not use yet; the interface will be defined in a later commit. 2013-05-18 01:23:09 -07:00
Robert Adams 214bae1479 BulletSim: fix BulletSim crashing if there is no [BulletSim] section
in any INI file. Update TODO list.
2013-05-17 21:19:38 -07:00
dahlia 46eb8465a0 fall back to using a display mesh for physics proxy if no physics_mesh entry was wound in a mesh asset 2013-05-15 17:12:17 -07:00
Vegaslon b135f1d58a BulletSim: Fix for mantis 6487, also minor adjustment to fix flying while you are running.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-14 08:48:40 -07:00
Robert Adams c86e828dbf BulletSim: add a lock to try and catch a native shape creation/destruction
race condition.
2013-05-13 13:30:44 -07:00
Robert Adams 15360cbb6b BulletSim: add adjustment for avatar capsule height scaling. Makes
avatar standing on ground view better and enables tuning.
2013-05-13 13:30:42 -07:00
Robert Adams 45f37e11ad BulletSim: use heightmap terrain when using BulletXNA.
Output messages on features disabled when using BulletXNA.
2013-05-13 13:30:40 -07:00
Robert Adams a42bb799cc BulletSim: fix CPU loop that occurs when any 'degenerate' sculptie
is in a region. This fixes the high CPU usage for regions with nothing
else going on.
2013-05-10 14:48:52 -07:00
Vegaslon ac6dcd35fb Bulletsim: and the rotational friction.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-07 07:14:10 -07:00
Vegaslon f247ae1a75 BulletSim: Another way to create vehicle framed friction.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-07 07:14:06 -07:00
Robert Adams ddd97cb78e BulletSim: normalize quaternian rotations when building compound linksets.
Attempt to fix vehicles being twisted off the ground when they go physical.
2013-05-06 18:06:34 -07:00
Robert Adams 84118c5735 BulletSim: properly free references to simple convex hull shapes. Didn't
loose memory since shapes are shared but did mess up usage accounting.
2013-05-06 18:05:37 -07:00
Robert Adams 93e1986d69 BulletSim: apply linear and angular friction in vehicle coordinates
and not world coordinates.
2013-05-06 16:48:01 -07:00
Robert Adams 045aaa838a BulletSim: remove friction calcuation from BSMotor and move linear and
angular friction computation into linear and angular movement code.
The friction wasn't being applied properly. This will make it so vehicles
don't drift as much and the drift is tunable by changing the friction
timescales.
2013-05-06 13:32:26 -07:00
Robert Adams bf31896983 BulletSim: simplify parameter specification by reducing the number of
specifications required for simple properties with defaults.
2013-05-06 13:32:24 -07:00
Robert Adams f9fb1484aa BulletSim: extend BSActorLockAxis to allow locking linear movement in
addition to angular movement. Not enabled by anything yet.
2013-05-06 13:32:22 -07:00
Robert Adams 5d25bb3084 BulletSim: zero vehicle motion when changing vehicle type.
Rebuild compound linkset of any child in the linkset changes shape.
Comments and better detailed logging messages.
2013-05-03 14:23:53 -07:00
Robert Adams 4042c82a72 BulletSim: prims with no cuts created with single convex hull shape.
Parameter added to enable/disable this feature.
2013-05-02 12:27:30 -07:00
Robert Adams d9c3947824 BulletSim: Rebuild physical body if physical shape changes for mesh and hull.
Properly rebuilds collision caches.
Release asset data fetched when building mesh or hulls.
2013-05-02 10:06:12 -07:00
Robert Adams ed46b42fea BulletSim: fix crash when mesh asset wasn't available when meshing
the first time.
Debugging added for mesh/hull asset fetch.
2013-05-01 17:16:46 -07:00
Robert Adams 0378baed35 BulletSim: rework LinksetCompound to work with new BSShape system.
Not all working yet.
2013-05-01 17:15:54 -07:00
Robert Adams fca4e4ec7c Merge branch 'master' into bulletsim4 2013-05-01 12:08:12 -07:00
Robert Adams 46ae84cfba BulletSim: fix error messages created while an avatar has no initial
collisions. Usually happens when logging in an avatar that had been
previously flying. Uninitialized variable.
2013-04-30 13:10:15 -07:00
Robert Adams 7cdb07b386 BulletSim: improvements to LinksetCompound and PrimDisplaced. Not all working yet. 2013-04-30 11:42:11 -07:00