aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
diff options
context:
space:
mode:
authorDiva Canto2012-12-04 08:08:58 -0800
committerDiva Canto2012-12-04 08:08:58 -0800
commita4821c5e01da394ba0968e6206a52f4db45cd7bd (patch)
tree68dae4719fe4100ce272ba7e9cd07018052c825b /OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
parentImprovement in HGInstantMessageService: account for the existence of an offli... (diff)
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC-a4821c5e01da394ba0968e6206a52f4db45cd7bd.zip
opensim-SC-a4821c5e01da394ba0968e6206a52f4db45cd7bd.tar.gz
opensim-SC-a4821c5e01da394ba0968e6206a52f4db45cd7bd.tar.bz2
opensim-SC-a4821c5e01da394ba0968e6206a52f4db45cd7bd.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt117
1 files changed, 117 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..68f25fc
--- /dev/null
+++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
@@ -0,0 +1,117 @@
1CRASHES
2=================================================
320121129.1411: editting/moving phys object across region boundries causes crash
4 getPos-> btRigidBody::upcast -> getBodyType -> BOOM
520121128.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
9BULLETSIM TODO LIST:
10=================================================
11Neb car jiggling left and right
12Vehicles (Move smoothly)
13Light cycle falling over when driving
14Light cycle not banking
15Do single prim vehicles don't seem to properly vehiclize.
16Gun sending shooter flying
17Collision margin (gap between physical objects lying on each other)
18Boundry 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.
21Avatar rotation (check out changes to ScenePresence for physical rotation)
22Avatar running (what does phys engine need to do?)
23Small 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.
28Add 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.
30Add PID motor for avatar movement (slow to stop, ...)
31Implement function efficiency for lineaar and angular motion.
32
33After getting off a vehicle, the root prim is phantom (can be walked through)
34 Need to force a position update for the root prim after compound shape destruction
35Find/remove avatar collision with ID=0.
36Test avatar walking up stairs. How does compare with SL.
37 Radius of the capsule affects ability to climb edges.
38Tune terrain/object friction to be closer to SL.
39Debounce avatar contact so legs don't keep folding up when standing.
40Implement LSL physics controls. Like STATUS_ROTATE_X.
41Add border extensions to terrain to help region crossings and objects leaving region.
42Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint)
43
44Speed up creation of large physical linksets
45 For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
46Performance test with lots of avatars. Can BulletSim support a thousand?
47Optimize collisions in C++: only send up to the object subscribed to collisions.
48 Use collision subscription and remove the collsion(A,B) and collision(B,A)
49Check wheter SimMotionState needs large if statement (see TODO).
50
51Implement 'top colliders' info.
52Avatar jump
53Implement meshes or just verify that they work.
54Do prim hash codes work for sculpties and meshes?
55Performance measurement and changes to make quicker.
56Implement detailed physics stats (GetStats()).
57
58Eliminate collisions between objects in a linkset. (LinksetConstraint)
59 Have UserPointer point to struct with localID and linksetID?
60 Objects in original linkset still collide with each other?
61
62Measure performance improvement from hulls
63Test not using ghost objects for volume detect implementation.
64Performance of closures and delegates for taint processing
65 Are there faster ways?
66 Is any slowdown introduced by the existing implementation significant?
67Is there are more efficient method of implementing pre and post step actions?
68 See http://www.codeproject.com/Articles/29922/Weak-Events-in-C
69
70Package Bullet source mods for Bullet internal stats output
71
72Physics Arena central pyramid: why is one side permiable?
73
74INTERNAL IMPROVEMENT/CLEANUP
75=================================================
76Remove unused fields from ShapeData (not used in API2)
77Breakout code for mesh/hull/compound/native into separate BSShape* classes
78 Standardize access to building and reference code.
79 The skeleton classes are in the sources but are not complete or linked in.
80Generalize Dynamics and PID with standardized motors.
81Generalize Linkset and vehicles into PropertyManagers
82 Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies
83 Possibly generalized a 'pre step action' registration.
84Complete implemention of preStepActions
85 Replace vehicle step call with prestep event.
86 Is there a need for postStepActions? postStepTaints?
87Implement linkset by setting position of children when root updated. (LinksetManual)
88LinkablePrim class? Would that simplify/centralize the linkset logic?
89Linkset implementation using manual prim movement.
90Linkset implementation using compound shapes.
91 Compound shapes will need the LocalID in the shapes and collision
92 processing to get it from there.
93BSScene.UpdateParameterSet() is broken. How to set params on objects?
94Remove HeightmapInfo from terrain specification.
95 Since C++ code does not need terrain height, this structure et al are not needed.
96Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will
97 bob at the water level. BSPrim.PositionSanityCheck().
98
99DONE DONE DONE DONE
100=================================================
101Cleanup code in BSDynamics by using motors.
102Consider implementing terrain with a mesh rather than heightmap.
103 Would have better and adjustable resolution.
104NOTDONE: Build terrain mesh so heighmap is height of the center of the square meter.
105 SL and ODE define meter square as being at one corner with one diagional.
106Terrain as mesh.
107How are static linksets seen by the physics engine?
108 A: they are not linked in physics. When moved, all the children are repositioned.
109Remember to remove BSScene.DetailLog Refresh call.
110Convert BSCharacter to use all API2
111Avatar pushing difficult (too heavy?)
112Use asset service passed to BulletSim to get sculptie bodies, etc.
113Vehicles (fix bouncing on terrain)
114Remove old code in DLL (all non-API2 stuff).
115Measurements of mega-physical prim performance (with graph)
116Debug Bullet internal stats output (why is timing all wrong?)
117 Bullet stats logging only works with a single instance of Bullet (one region). \ No newline at end of file