aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRobert Adams2012-12-11 16:46:43 -0800
committerRobert Adams2012-12-12 16:51:29 -0800
commit7bb5613dc665a788e1b151278c20d415f708242a (patch)
tree2be6968f199c0b63cb6ee5be09939c1954c54168
parentLog situations where workitem event threads are aborted on stop request becau... (diff)
downloadopensim-SC-7bb5613dc665a788e1b151278c20d415f708242a.zip
opensim-SC-7bb5613dc665a788e1b151278c20d415f708242a.tar.gz
opensim-SC-7bb5613dc665a788e1b151278c20d415f708242a.tar.bz2
opensim-SC-7bb5613dc665a788e1b151278c20d415f708242a.tar.xz
BulletSim: updates and rearrangement of the TODO list.
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt47
1 files changed, 33 insertions, 14 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
index 1c7b577..11c1387 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
+++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
@@ -20,6 +20,10 @@ Neb car jiggling left and right
20 Happens on terrain and any other mesh object. Flat cubes are much smoother. 20 Happens on terrain and any other mesh object. Flat cubes are much smoother.
21 This has been reduced but not eliminated. 21 This has been reduced but not eliminated.
22For limitMotorUp, use raycast down to find if vehicle is in the air. 22For limitMotorUp, use raycast down to find if vehicle is in the air.
23Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE.
24 Verify that angular motion specified around Z moves in the vehicle coordinates.
25Verify llGetVel() is returning a smooth and good value for vehicle movement.
26llGetVel() should return the root's velocity if requested in a child prim.
23Implement function efficiency for lineaar and angular motion. 27Implement function efficiency for lineaar and angular motion.
24Should vehicle angular/linear movement friction happen after all the components 28Should vehicle angular/linear movement friction happen after all the components
25 or does it only apply to the basic movement? 29 or does it only apply to the basic movement?
@@ -32,19 +36,14 @@ Border crossing with linked vehicle causes crash
32 36
33BULLETSIM TODO LIST: 37BULLETSIM TODO LIST:
34================================================= 38=================================================
35Avatar height off after unsitting (float off ground) 39Avatar height off after unsitting (floats off ground)
36 Editting appearance then moving restores. 40 Editting appearance then moving restores.
37 Must not be initializing height when recreating capsule after unsit. 41 Must not be initializing height when recreating capsule after unsit.
38Duplicating a physical prim causes old prim to jump away 42Duplicating a physical prim causes old prim to jump away
39 Dup a phys prim and the original become unselected and thus interacts w/ selected prim. 43 Dup a phys prim and the original become unselected and thus interacts w/ selected prim.
40Disable activity of passive linkset children.
41 Since the linkset is a compound object, the old prims are left lying
42 around and need to be phantomized so they don't collide, ...
43Scenes with hundred of thousands of static objects take a lot of physics CPU time. 44Scenes with hundred of thousands of static objects take a lot of physics CPU time.
44BSPrim.Force should set a continious force on the prim. The force should be 45BSPrim.Force should set a continious force on the prim. The force should be
45 applied each tick. Some limits? 46 applied each tick. Some limits?
46Linksets should allow collisions to individual children
47 Add LocalID to children shapes in LinksetCompound and create events for individuals
48Gun sending shooter flying. 47Gun sending shooter flying.
49Collision margin (gap between physical objects lying on each other) 48Collision margin (gap between physical objects lying on each other)
50Boundry checking (crashes related to crossing boundry) 49Boundry checking (crashes related to crossing boundry)
@@ -57,14 +56,34 @@ Small physical objects do not interact correctly
57 The chain will fall apart and pairs will dance around on ground 56 The chain will fall apart and pairs will dance around on ground
58 Chains of 1x1x.2 will stay connected but will dance. 57 Chains of 1x1x.2 will stay connected but will dance.
59 Chains above 2x2x.4 are move stable and get stablier as torui get larger. 58 Chains above 2x2x.4 are move stable and get stablier as torui get larger.
60Add material type linkage and input all the material property definitions.
61 Skeleton classes and table are in the sources but are not filled or used.
62Add PID motor for avatar movement (slow to stop, ...) 59Add PID motor for avatar movement (slow to stop, ...)
63setForce should set a constant force. Different than AddImpulse. 60setForce should set a constant force. Different than AddImpulse.
64Implement raycast. 61Implement raycast.
65Implement ShapeCollection.Dispose() 62Implement ShapeCollection.Dispose()
66Implement water as a plain so raycasting and collisions can happen with same. 63Implement water as a plain so raycasting and collisions can happen with same.
64Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE
65 Also osGetPhysicsEngineVerion() maybe.
66
67LINKSETS
68======================================================
69Linksets should allow collisions to individual children
70 Add LocalID to children shapes in LinksetCompound and create events for individuals
71Verify/think through scripts in children of linksets. What do they reference
72 and return when getting position, velocity, ...
73Confirm constraint linksets still work after making all the changes for compound linksets.
74Add 'changed' flag or similar to reduce the number of times a linkset is rebuilt.
75 For compound linksets, add ability to remove or reposition individual child shapes.
76Disable activity of passive linkset children.
77 Since the linkset is a compound object, the old prims are left lying
78 around and need to be phantomized so they don't collide, ...
79Speed up creation of large physical linksets
80 For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
81Eliminate collisions between objects in a linkset. (LinksetConstraint)
82 Have UserPointer point to struct with localID and linksetID?
83 Objects in original linkset still collide with each other?
67 84
85MORE
86======================================================
68Find/remove avatar collision with ID=0. 87Find/remove avatar collision with ID=0.
69Test avatar walking up stairs. How does compare with SL. 88Test avatar walking up stairs. How does compare with SL.
70 Radius of the capsule affects ability to climb edges. 89 Radius of the capsule affects ability to climb edges.
@@ -73,8 +92,6 @@ Debounce avatar contact so legs don't keep folding up when standing.
73Implement LSL physics controls. Like STATUS_ROTATE_X. 92Implement LSL physics controls. Like STATUS_ROTATE_X.
74Add border extensions to terrain to help region crossings and objects leaving region. 93Add border extensions to terrain to help region crossings and objects leaving region.
75 94
76Speed up creation of large physical linksets
77 For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
78Performance test with lots of avatars. Can BulletSim support a thousand? 95Performance test with lots of avatars. Can BulletSim support a thousand?
79Optimize collisions in C++: only send up to the object subscribed to collisions. 96Optimize collisions in C++: only send up to the object subscribed to collisions.
80 Use collision subscription and remove the collsion(A,B) and collision(B,A) 97 Use collision subscription and remove the collsion(A,B) and collision(B,A)
@@ -85,10 +102,6 @@ Avatar jump
85Performance measurement and changes to make quicker. 102Performance measurement and changes to make quicker.
86Implement detailed physics stats (GetStats()). 103Implement detailed physics stats (GetStats()).
87 104
88Eliminate collisions between objects in a linkset. (LinksetConstraint)
89 Have UserPointer point to struct with localID and linksetID?
90 Objects in original linkset still collide with each other?
91
92Measure performance improvement from hulls 105Measure performance improvement from hulls
93Test not using ghost objects for volume detect implementation. 106Test not using ghost objects for volume detect implementation.
94Performance of closures and delegates for taint processing 107Performance of closures and delegates for taint processing
@@ -101,6 +114,9 @@ Physics Arena central pyramid: why is one side permiable?
101 114
102INTERNAL IMPROVEMENT/CLEANUP 115INTERNAL IMPROVEMENT/CLEANUP
103================================================= 116=================================================
117Consider moving prim/character body and shape destruction in destroy()
118 to postTimeTime rather than protecting all the potential sets that
119 might have been queued up.
104Remove unused fields from ShapeData (not used in API2) 120Remove unused fields from ShapeData (not used in API2)
105Breakout code for mesh/hull/compound/native into separate BSShape* classes 121Breakout code for mesh/hull/compound/native into separate BSShape* classes
106 Standardize access to building and reference code. 122 Standardize access to building and reference code.
@@ -154,3 +170,6 @@ Package Bullet source mods for Bullet internal stats output
154 (Resolution: move code into WorldData.h rather than relying on patches) 170 (Resolution: move code into WorldData.h rather than relying on patches)
155Single prim vehicles don't seem to properly vehiclize. 171Single prim vehicles don't seem to properly vehiclize.
156 (Resolution: mass was not getting set properly for single prim linksets) 172 (Resolution: mass was not getting set properly for single prim linksets)
173Add material type linkage and input all the material property definitions.
174 Skeleton classes and table are in the sources but are not filled or used.
175 (Resolution: