diff options
Diffstat (limited to 'OpenSim/Region')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 47 |
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. |
22 | For limitMotorUp, use raycast down to find if vehicle is in the air. | 22 | For limitMotorUp, use raycast down to find if vehicle is in the air. |
23 | Angular 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. | ||
25 | Verify llGetVel() is returning a smooth and good value for vehicle movement. | ||
26 | llGetVel() should return the root's velocity if requested in a child prim. | ||
23 | Implement function efficiency for lineaar and angular motion. | 27 | Implement function efficiency for lineaar and angular motion. |
24 | Should vehicle angular/linear movement friction happen after all the components | 28 | Should 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 | ||
33 | BULLETSIM TODO LIST: | 37 | BULLETSIM TODO LIST: |
34 | ================================================= | 38 | ================================================= |
35 | Avatar height off after unsitting (float off ground) | 39 | Avatar 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. |
38 | Duplicating a physical prim causes old prim to jump away | 42 | Duplicating 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. |
40 | Disable 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, ... | ||
43 | Scenes with hundred of thousands of static objects take a lot of physics CPU time. | 44 | Scenes with hundred of thousands of static objects take a lot of physics CPU time. |
44 | BSPrim.Force should set a continious force on the prim. The force should be | 45 | BSPrim.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? |
46 | Linksets should allow collisions to individual children | ||
47 | Add LocalID to children shapes in LinksetCompound and create events for individuals | ||
48 | Gun sending shooter flying. | 47 | Gun sending shooter flying. |
49 | Collision margin (gap between physical objects lying on each other) | 48 | Collision margin (gap between physical objects lying on each other) |
50 | Boundry checking (crashes related to crossing boundry) | 49 | Boundry 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. |
60 | Add 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. | ||
62 | Add PID motor for avatar movement (slow to stop, ...) | 59 | Add PID motor for avatar movement (slow to stop, ...) |
63 | setForce should set a constant force. Different than AddImpulse. | 60 | setForce should set a constant force. Different than AddImpulse. |
64 | Implement raycast. | 61 | Implement raycast. |
65 | Implement ShapeCollection.Dispose() | 62 | Implement ShapeCollection.Dispose() |
66 | Implement water as a plain so raycasting and collisions can happen with same. | 63 | Implement water as a plain so raycasting and collisions can happen with same. |
64 | Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE | ||
65 | Also osGetPhysicsEngineVerion() maybe. | ||
66 | |||
67 | LINKSETS | ||
68 | ====================================================== | ||
69 | Linksets should allow collisions to individual children | ||
70 | Add LocalID to children shapes in LinksetCompound and create events for individuals | ||
71 | Verify/think through scripts in children of linksets. What do they reference | ||
72 | and return when getting position, velocity, ... | ||
73 | Confirm constraint linksets still work after making all the changes for compound linksets. | ||
74 | Add '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. | ||
76 | Disable 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, ... | ||
79 | Speed up creation of large physical linksets | ||
80 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical | ||
81 | Eliminate 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 | ||
85 | MORE | ||
86 | ====================================================== | ||
68 | Find/remove avatar collision with ID=0. | 87 | Find/remove avatar collision with ID=0. |
69 | Test avatar walking up stairs. How does compare with SL. | 88 | Test 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. | |||
73 | Implement LSL physics controls. Like STATUS_ROTATE_X. | 92 | Implement LSL physics controls. Like STATUS_ROTATE_X. |
74 | Add border extensions to terrain to help region crossings and objects leaving region. | 93 | Add border extensions to terrain to help region crossings and objects leaving region. |
75 | 94 | ||
76 | Speed up creation of large physical linksets | ||
77 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical | ||
78 | Performance test with lots of avatars. Can BulletSim support a thousand? | 95 | Performance test with lots of avatars. Can BulletSim support a thousand? |
79 | Optimize collisions in C++: only send up to the object subscribed to collisions. | 96 | Optimize 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 | |||
85 | Performance measurement and changes to make quicker. | 102 | Performance measurement and changes to make quicker. |
86 | Implement detailed physics stats (GetStats()). | 103 | Implement detailed physics stats (GetStats()). |
87 | 104 | ||
88 | Eliminate 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 | |||
92 | Measure performance improvement from hulls | 105 | Measure performance improvement from hulls |
93 | Test not using ghost objects for volume detect implementation. | 106 | Test not using ghost objects for volume detect implementation. |
94 | Performance of closures and delegates for taint processing | 107 | Performance of closures and delegates for taint processing |
@@ -101,6 +114,9 @@ Physics Arena central pyramid: why is one side permiable? | |||
101 | 114 | ||
102 | INTERNAL IMPROVEMENT/CLEANUP | 115 | INTERNAL IMPROVEMENT/CLEANUP |
103 | ================================================= | 116 | ================================================= |
117 | Consider 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. | ||
104 | Remove unused fields from ShapeData (not used in API2) | 120 | Remove unused fields from ShapeData (not used in API2) |
105 | Breakout code for mesh/hull/compound/native into separate BSShape* classes | 121 | Breakout 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) |
155 | Single prim vehicles don't seem to properly vehiclize. | 171 | Single 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) |
173 | Add 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: | ||