aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt64
1 files changed, 47 insertions, 17 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
index a2161c3..7d6ace8 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
+++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
@@ -11,13 +11,20 @@ CRASHES
11 11
12VEHICLES TODO LIST: 12VEHICLES TODO LIST:
13================================================= 13=================================================
14Neb car jiggling left and right 14Neb vehicle taking > 25ms of physics time!!
15 Happens on terrain and any other mesh object. Flat cubes are much smoother.
16Vehicles (Move smoothly) 15Vehicles (Move smoothly)
17Add vehicle collisions so IsColliding is properly reported. 16Add vehicle collisions so IsColliding is properly reported.
18 Needed for banking, limitMotorUp, movementLimiting, ... 17 Needed for banking, limitMotorUp, movementLimiting, ...
19Some vehicles should not be able to turn if no speed or off ground. 18Some vehicles should not be able to turn if no speed or off ground.
19Neb car jiggling left and right
20 Happens on terrain and any other mesh object. Flat cubes are much smoother.
21 This has been reduced but not eliminated.
22Light cycle falling over when driving
20For limitMotorUp, use raycast down to find if vehicle is in the air. 23For limitMotorUp, use raycast down to find if vehicle is in the air.
24Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE.
25 Verify that angular motion specified around Z moves in the vehicle coordinates.
26Verify llGetVel() is returning a smooth and good value for vehicle movement.
27llGetVel() should return the root's velocity if requested in a child prim.
21Implement function efficiency for lineaar and angular motion. 28Implement function efficiency for lineaar and angular motion.
22Should vehicle angular/linear movement friction happen after all the components 29Should vehicle angular/linear movement friction happen after all the components
23 or does it only apply to the basic movement? 30 or does it only apply to the basic movement?
@@ -30,15 +37,14 @@ Border crossing with linked vehicle causes crash
30 37
31BULLETSIM TODO LIST: 38BULLETSIM TODO LIST:
32================================================= 39=================================================
40Avatar height off after unsitting (floats off ground)
41 Editting appearance then moving restores.
42 Must not be initializing height when recreating capsule after unsit.
33Duplicating a physical prim causes old prim to jump away 43Duplicating a physical prim causes old prim to jump away
34 Dup a phys prim and the original become unselected and thus interacts w/ selected prim. 44 Dup a phys prim and the original become unselected and thus interacts w/ selected prim.
35Disable activity of passive linkset children.
36 Since the linkset is a compound object, the old prims are left lying
37 around and need to be phantomized so they don't collide, ...
38Scenes with hundred of thousands of static objects take a lot of physics CPU time. 45Scenes with hundred of thousands of static objects take a lot of physics CPU time.
39BSPrim.Force should set a continious force on the prim. The force should be 46BSPrim.Force should set a continious force on the prim. The force should be
40 applied each tick. Some limits? 47 applied each tick. Some limits?
41Single prim vehicles don't seem to properly vehiclize.
42Gun sending shooter flying. 48Gun sending shooter flying.
43Collision margin (gap between physical objects lying on each other) 49Collision margin (gap between physical objects lying on each other)
44Boundry checking (crashes related to crossing boundry) 50Boundry checking (crashes related to crossing boundry)
@@ -51,14 +57,34 @@ Small physical objects do not interact correctly
51 The chain will fall apart and pairs will dance around on ground 57 The chain will fall apart and pairs will dance around on ground
52 Chains of 1x1x.2 will stay connected but will dance. 58 Chains of 1x1x.2 will stay connected but will dance.
53 Chains above 2x2x.4 are move stable and get stablier as torui get larger. 59 Chains above 2x2x.4 are move stable and get stablier as torui get larger.
54Add material type linkage and input all the material property definitions.
55 Skeleton classes and table are in the sources but are not filled or used.
56Add PID motor for avatar movement (slow to stop, ...) 60Add PID motor for avatar movement (slow to stop, ...)
57setForce should set a constant force. Different than AddImpulse. 61setForce should set a constant force. Different than AddImpulse.
58Implement raycast. 62Implement raycast.
59Implement ShapeCollection.Dispose() 63Implement ShapeCollection.Dispose()
60Implement water as a plain so raycasting and collisions can happen with same. 64Implement water as a plain so raycasting and collisions can happen with same.
65Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE
66 Also osGetPhysicsEngineVerion() maybe.
67
68LINKSETS
69======================================================
70Linksets should allow collisions to individual children
71 Add LocalID to children shapes in LinksetCompound and create events for individuals
72Verify/think through scripts in children of linksets. What do they reference
73 and return when getting position, velocity, ...
74Confirm constraint linksets still work after making all the changes for compound linksets.
75Add 'changed' flag or similar to reduce the number of times a linkset is rebuilt.
76 For compound linksets, add ability to remove or reposition individual child shapes.
77Disable activity of passive linkset children.
78 Since the linkset is a compound object, the old prims are left lying
79 around and need to be phantomized so they don't collide, ...
80Speed up creation of large physical linksets
81 For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
82Eliminate collisions between objects in a linkset. (LinksetConstraint)
83 Have UserPointer point to struct with localID and linksetID?
84 Objects in original linkset still collide with each other?
61 85
86MORE
87======================================================
62Find/remove avatar collision with ID=0. 88Find/remove avatar collision with ID=0.
63Test avatar walking up stairs. How does compare with SL. 89Test avatar walking up stairs. How does compare with SL.
64 Radius of the capsule affects ability to climb edges. 90 Radius of the capsule affects ability to climb edges.
@@ -67,8 +93,6 @@ Debounce avatar contact so legs don't keep folding up when standing.
67Implement LSL physics controls. Like STATUS_ROTATE_X. 93Implement LSL physics controls. Like STATUS_ROTATE_X.
68Add border extensions to terrain to help region crossings and objects leaving region. 94Add border extensions to terrain to help region crossings and objects leaving region.
69 95
70Speed up creation of large physical linksets
71 For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
72Performance test with lots of avatars. Can BulletSim support a thousand? 96Performance test with lots of avatars. Can BulletSim support a thousand?
73Optimize collisions in C++: only send up to the object subscribed to collisions. 97Optimize collisions in C++: only send up to the object subscribed to collisions.
74 Use collision subscription and remove the collsion(A,B) and collision(B,A) 98 Use collision subscription and remove the collsion(A,B) and collision(B,A)
@@ -79,10 +103,6 @@ Avatar jump
79Performance measurement and changes to make quicker. 103Performance measurement and changes to make quicker.
80Implement detailed physics stats (GetStats()). 104Implement detailed physics stats (GetStats()).
81 105
82Eliminate collisions between objects in a linkset. (LinksetConstraint)
83 Have UserPointer point to struct with localID and linksetID?
84 Objects in original linkset still collide with each other?
85
86Measure performance improvement from hulls 106Measure performance improvement from hulls
87Test not using ghost objects for volume detect implementation. 107Test not using ghost objects for volume detect implementation.
88Performance of closures and delegates for taint processing 108Performance of closures and delegates for taint processing
@@ -95,10 +115,16 @@ Physics Arena central pyramid: why is one side permiable?
95 115
96INTERNAL IMPROVEMENT/CLEANUP 116INTERNAL IMPROVEMENT/CLEANUP
97================================================= 117=================================================
118Consider moving prim/character body and shape destruction in destroy()
119 to postTimeTime rather than protecting all the potential sets that
120 might have been queued up.
98Remove unused fields from ShapeData (not used in API2) 121Remove unused fields from ShapeData (not used in API2)
99Breakout code for mesh/hull/compound/native into separate BSShape* classes 122Breakout code for mesh/hull/compound/native into separate BSShape* classes
100 Standardize access to building and reference code. 123 Standardize access to building and reference code.
101 The skeleton classes are in the sources but are not complete or linked in. 124 The skeleton classes are in the sources but are not complete or linked in.
125Make BSBody and BSShape real classes to centralize creation/changin/destruction
126 Convert state and parameter calls from BulletSimAPI direct calls to
127 calls on BSBody and BSShape
102Generalize Dynamics and PID with standardized motors. 128Generalize Dynamics and PID with standardized motors.
103Generalize Linkset and vehicles into PropertyManagers 129Generalize Linkset and vehicles into PropertyManagers
104 Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies 130 Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies
@@ -110,7 +136,7 @@ Implement linkset by setting position of children when root updated. (LinksetMan
110 Linkset implementation using manual prim movement. 136 Linkset implementation using manual prim movement.
111LinkablePrim class? Would that simplify/centralize the linkset logic? 137LinkablePrim class? Would that simplify/centralize the linkset logic?
112BSScene.UpdateParameterSet() is broken. How to set params on objects? 138BSScene.UpdateParameterSet() is broken. How to set params on objects?
113Remove HeightmapInfo from terrain specification. 139Remove HeightmapInfo from terrain specification
114 Since C++ code does not need terrain height, this structure et al are not needed. 140 Since C++ code does not need terrain height, this structure et al are not needed.
115Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will 141Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will
116 bob at the water level. BSPrim.PositionSanityCheck(). 142 bob at the water level. BSPrim.PositionSanityCheck().
@@ -142,7 +168,11 @@ Do prim hash codes work for sculpties and meshes? (Resolution: yes)
142Linkset implementation using compound shapes. (Resolution: implemented LinksetCompound) 168Linkset implementation using compound shapes. (Resolution: implemented LinksetCompound)
143 Compound shapes will need the LocalID in the shapes and collision 169 Compound shapes will need the LocalID in the shapes and collision
144 processing to get it from there. 170 processing to get it from there.
145Light cycle falling over when driving (Resolution: implemented VerticalAttractor)
146Light cycle not banking (Resolution: It doesn't. Banking is roll adding yaw.) 171Light cycle not banking (Resolution: It doesn't. Banking is roll adding yaw.)
147Package Bullet source mods for Bullet internal stats output 172Package Bullet source mods for Bullet internal stats output
148 (Resolution: move code into WorldData.h rather than relying on patches) \ No newline at end of file 173 (Resolution: move code into WorldData.h rather than relying on patches)
174Single prim vehicles don't seem to properly vehiclize.
175 (Resolution: mass was not getting set properly for single prim linksets)
176Add material type linkage and input all the material property definitions.
177 Skeleton classes and table are in the sources but are not filled or used.
178 (Resolution: