diff options
author | Robert Adams | 2012-12-02 20:08:11 -0800 |
---|---|---|
committer | Robert Adams | 2012-12-03 07:59:49 -0800 |
commit | dc0497c1b831b3bb8fe021d48520bbff7305ce2e (patch) | |
tree | 1a766ffcf9bef312fbc890f1d2be9b050c3a2f64 /OpenSim | |
parent | BulletSim: revert angular vertical attraction from motor to code. The motor c... (diff) | |
download | opensim-SC-dc0497c1b831b3bb8fe021d48520bbff7305ce2e.zip opensim-SC-dc0497c1b831b3bb8fe021d48520bbff7305ce2e.tar.gz opensim-SC-dc0497c1b831b3bb8fe021d48520bbff7305ce2e.tar.bz2 opensim-SC-dc0497c1b831b3bb8fe021d48520bbff7305ce2e.tar.xz |
BulletSim: begin tracking a TODO list. There just are so many things to remember to do.
Diffstat (limited to 'OpenSim')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt new file mode 100755 index 0000000..cf112fb --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | |||
@@ -0,0 +1,112 @@ | |||
1 | CRASHES | ||
2 | ================================================= | ||
3 | 20121129.1411: editting/moving phys object across region boundries causes crash | ||
4 | getPos-> btRigidBody::upcast -> getBodyType -> BOOM | ||
5 | 20121128.1600: mesh object not rezzing (no physics mesh). | ||
6 | Causes many errors. Doesn't stop after first error with box shape. | ||
7 | Eventually crashes when deleting the object. | ||
8 | |||
9 | BULLETSIM TODO LIST: | ||
10 | ================================================= | ||
11 | Neb car jiggling left and right | ||
12 | Vehicles (Move smoothly) | ||
13 | Light cycle falling over when driving | ||
14 | Light cycle not banking | ||
15 | Do single prim vehicles don't seem to properly vehiclize. | ||
16 | Gun sending shooter flying | ||
17 | Collision margin (gap between physical objects lying on each other) | ||
18 | Boundry checking (crashes related to crossing boundry) | ||
19 | Add check for border edge position for avatars and objects. | ||
20 | Verify the events are created for border crossings. | ||
21 | Avatar rotation (check out changes to ScenePresence for physical rotation) | ||
22 | Avatar running (what does phys engine need to do?) | ||
23 | Small physical objects do not interact correctly | ||
24 | Create chain of .5x.5x.1 torui and make all but top physical so to hang. | ||
25 | The chain will fall apart and pairs will dance around on ground | ||
26 | Chains of 1x1x.2 will stay connected but will dance. | ||
27 | Chains above 2x2x.4 are move stable and get stablier as torui get larger. | ||
28 | Add material type linkage and input all the material property definitions. | ||
29 | Skeleton classes and table are in the sources but are not filled or used. | ||
30 | |||
31 | After getting off a vehicle, the root prim is phantom (can be walked through) | ||
32 | Need to force a position update for the root prim after compound shape destruction | ||
33 | Find/remove avatar collision with ID=0. | ||
34 | Test avatar walking up stairs. How does compare with SL. | ||
35 | Radius of the capsule affects ability to climb edges. | ||
36 | Tune terrain/object friction to be closer to SL. | ||
37 | Debounce avatar contact so legs don't keep folding up when standing. | ||
38 | Implement LSL physics controls. Like STATUS_ROTATE_X. | ||
39 | Add border extensions to terrain to help region crossings and objects leaving region. | ||
40 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) | ||
41 | |||
42 | Speed up creation of large physical linksets | ||
43 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical | ||
44 | Performance test with lots of avatars. Can BulletSim support a thousand? | ||
45 | Optimize collisions in C++: only send up to the object subscribed to collisions. | ||
46 | Use collision subscription and remove the collsion(A,B) and collision(B,A) | ||
47 | Check wheter SimMotionState needs large if statement (see TODO). | ||
48 | |||
49 | Implement 'top colliders' info. | ||
50 | Avatar jump | ||
51 | Implement meshes or just verify that they work. | ||
52 | Do prim hash codes work for sculpties and meshes? | ||
53 | Performance measurement and changes to make quicker. | ||
54 | Implement detailed physics stats (GetStats()). | ||
55 | |||
56 | Eliminate collisions between objects in a linkset. (LinksetConstraint) | ||
57 | Have UserPointer point to struct with localID and linksetID? | ||
58 | Objects in original linkset still collide with each other? | ||
59 | |||
60 | Measure performance improvement from hulls | ||
61 | Test not using ghost objects for volume detect implementation. | ||
62 | Performance of closures and delegates for taint processing | ||
63 | Are there faster ways? | ||
64 | Is any slowdown introduced by the existing implementation significant? | ||
65 | Is there are more efficient method of implementing pre and post step actions? | ||
66 | See http://www.codeproject.com/Articles/29922/Weak-Events-in-C | ||
67 | |||
68 | Package Bullet source mods for Bullet internal stats output | ||
69 | |||
70 | Physics Arena central pyramid: why is one side permiable? | ||
71 | |||
72 | INTERNAL IMPROVEMENT/CLEANUP | ||
73 | ================================================= | ||
74 | Remove unused fields from ShapeData (not used in API2) | ||
75 | Breakout code for mesh/hull/compound/native into separate BSShape* classes | ||
76 | Standardize access to building and reference code. | ||
77 | The skeleton classes are in the sources but are not complete or linked in. | ||
78 | Generalize Dynamics and PID with standardized motors. | ||
79 | Generalize Linkset and vehicles into PropertyManagers | ||
80 | Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies | ||
81 | Possibly generalized a 'per step action' registration. | ||
82 | Implement linkset by setting position of children when root updated. (LinksetManual) | ||
83 | LinkablePrim class? Would that simplify/centralize the linkset logic? | ||
84 | Linkset implementation using manual prim movement. | ||
85 | Linkset implementation using compound shapes. | ||
86 | Compound shapes will need the LocalID in the shapes and collision | ||
87 | processing to get it from there. | ||
88 | BSScene.UpdateParameterSet() is broken. How to set params on objects? | ||
89 | Remove HeightmapInfo from terrain specification. | ||
90 | Since C++ code does not need terrain height, this structure et al are not needed. | ||
91 | Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will | ||
92 | bob at the water level. BSPrim.PositionSanityCheck(). | ||
93 | |||
94 | DONE DONE DONE DONE | ||
95 | ================================================= | ||
96 | Cleanup code in BSDynamics by using motors. | ||
97 | Consider implementing terrain with a mesh rather than heightmap. | ||
98 | Would have better and adjustable resolution. | ||
99 | NOTDONE: Build terrain mesh so heighmap is height of the center of the square meter. | ||
100 | SL and ODE define meter square as being at one corner with one diagional. | ||
101 | Terrain as mesh. | ||
102 | How are static linksets seen by the physics engine? | ||
103 | A: they are not linked in physics. When moved, all the children are repositioned. | ||
104 | Remember to remove BSScene.DetailLog Refresh call. | ||
105 | Convert BSCharacter to use all API2 | ||
106 | Avatar pushing difficult (too heavy?) | ||
107 | Use asset service passed to BulletSim to get sculptie bodies, etc. | ||
108 | Vehicles (fix bouncing on terrain) | ||
109 | Remove old code in DLL (all non-API2 stuff). | ||
110 | Measurements of mega-physical prim performance (with graph) | ||
111 | Debug Bullet internal stats output (why is timing all wrong?) | ||
112 | Bullet stats logging only works with a single instance of Bullet (one region). \ No newline at end of file | ||