BulletSim: begin tracking a TODO list. There just are so many things to remember to do.
parent
10fcc70b36
commit
dc0497c1b8
|
@ -0,0 +1,112 @@
|
||||||
|
CRASHES
|
||||||
|
=================================================
|
||||||
|
20121129.1411: editting/moving phys object across region boundries causes crash
|
||||||
|
getPos-> btRigidBody::upcast -> getBodyType -> BOOM
|
||||||
|
20121128.1600: mesh object not rezzing (no physics mesh).
|
||||||
|
Causes many errors. Doesn't stop after first error with box shape.
|
||||||
|
Eventually crashes when deleting the object.
|
||||||
|
|
||||||
|
BULLETSIM TODO LIST:
|
||||||
|
=================================================
|
||||||
|
Neb car jiggling left and right
|
||||||
|
Vehicles (Move smoothly)
|
||||||
|
Light cycle falling over when driving
|
||||||
|
Light cycle not banking
|
||||||
|
Do single prim vehicles don't seem to properly vehiclize.
|
||||||
|
Gun sending shooter flying
|
||||||
|
Collision margin (gap between physical objects lying on each other)
|
||||||
|
Boundry checking (crashes related to crossing boundry)
|
||||||
|
Add check for border edge position for avatars and objects.
|
||||||
|
Verify the events are created for border crossings.
|
||||||
|
Avatar rotation (check out changes to ScenePresence for physical rotation)
|
||||||
|
Avatar running (what does phys engine need to do?)
|
||||||
|
Small physical objects do not interact correctly
|
||||||
|
Create chain of .5x.5x.1 torui and make all but top physical so to hang.
|
||||||
|
The chain will fall apart and pairs will dance around on ground
|
||||||
|
Chains of 1x1x.2 will stay connected but will dance.
|
||||||
|
Chains above 2x2x.4 are move stable and get stablier as torui get larger.
|
||||||
|
Add material type linkage and input all the material property definitions.
|
||||||
|
Skeleton classes and table are in the sources but are not filled or used.
|
||||||
|
|
||||||
|
After getting off a vehicle, the root prim is phantom (can be walked through)
|
||||||
|
Need to force a position update for the root prim after compound shape destruction
|
||||||
|
Find/remove avatar collision with ID=0.
|
||||||
|
Test avatar walking up stairs. How does compare with SL.
|
||||||
|
Radius of the capsule affects ability to climb edges.
|
||||||
|
Tune terrain/object friction to be closer to SL.
|
||||||
|
Debounce avatar contact so legs don't keep folding up when standing.
|
||||||
|
Implement LSL physics controls. Like STATUS_ROTATE_X.
|
||||||
|
Add border extensions to terrain to help region crossings and objects leaving region.
|
||||||
|
Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint)
|
||||||
|
|
||||||
|
Speed up creation of large physical linksets
|
||||||
|
For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
|
||||||
|
Performance test with lots of avatars. Can BulletSim support a thousand?
|
||||||
|
Optimize collisions in C++: only send up to the object subscribed to collisions.
|
||||||
|
Use collision subscription and remove the collsion(A,B) and collision(B,A)
|
||||||
|
Check wheter SimMotionState needs large if statement (see TODO).
|
||||||
|
|
||||||
|
Implement 'top colliders' info.
|
||||||
|
Avatar jump
|
||||||
|
Implement meshes or just verify that they work.
|
||||||
|
Do prim hash codes work for sculpties and meshes?
|
||||||
|
Performance measurement and changes to make quicker.
|
||||||
|
Implement detailed physics stats (GetStats()).
|
||||||
|
|
||||||
|
Eliminate collisions between objects in a linkset. (LinksetConstraint)
|
||||||
|
Have UserPointer point to struct with localID and linksetID?
|
||||||
|
Objects in original linkset still collide with each other?
|
||||||
|
|
||||||
|
Measure performance improvement from hulls
|
||||||
|
Test not using ghost objects for volume detect implementation.
|
||||||
|
Performance of closures and delegates for taint processing
|
||||||
|
Are there faster ways?
|
||||||
|
Is any slowdown introduced by the existing implementation significant?
|
||||||
|
Is there are more efficient method of implementing pre and post step actions?
|
||||||
|
See http://www.codeproject.com/Articles/29922/Weak-Events-in-C
|
||||||
|
|
||||||
|
Package Bullet source mods for Bullet internal stats output
|
||||||
|
|
||||||
|
Physics Arena central pyramid: why is one side permiable?
|
||||||
|
|
||||||
|
INTERNAL IMPROVEMENT/CLEANUP
|
||||||
|
=================================================
|
||||||
|
Remove unused fields from ShapeData (not used in API2)
|
||||||
|
Breakout code for mesh/hull/compound/native into separate BSShape* classes
|
||||||
|
Standardize access to building and reference code.
|
||||||
|
The skeleton classes are in the sources but are not complete or linked in.
|
||||||
|
Generalize Dynamics and PID with standardized motors.
|
||||||
|
Generalize Linkset and vehicles into PropertyManagers
|
||||||
|
Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies
|
||||||
|
Possibly generalized a 'per step action' registration.
|
||||||
|
Implement linkset by setting position of children when root updated. (LinksetManual)
|
||||||
|
LinkablePrim class? Would that simplify/centralize the linkset logic?
|
||||||
|
Linkset implementation using manual prim movement.
|
||||||
|
Linkset implementation using compound shapes.
|
||||||
|
Compound shapes will need the LocalID in the shapes and collision
|
||||||
|
processing to get it from there.
|
||||||
|
BSScene.UpdateParameterSet() is broken. How to set params on objects?
|
||||||
|
Remove HeightmapInfo from terrain specification.
|
||||||
|
Since C++ code does not need terrain height, this structure et al are not needed.
|
||||||
|
Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will
|
||||||
|
bob at the water level. BSPrim.PositionSanityCheck().
|
||||||
|
|
||||||
|
DONE DONE DONE DONE
|
||||||
|
=================================================
|
||||||
|
Cleanup code in BSDynamics by using motors.
|
||||||
|
Consider implementing terrain with a mesh rather than heightmap.
|
||||||
|
Would have better and adjustable resolution.
|
||||||
|
NOTDONE: Build terrain mesh so heighmap is height of the center of the square meter.
|
||||||
|
SL and ODE define meter square as being at one corner with one diagional.
|
||||||
|
Terrain as mesh.
|
||||||
|
How are static linksets seen by the physics engine?
|
||||||
|
A: they are not linked in physics. When moved, all the children are repositioned.
|
||||||
|
Remember to remove BSScene.DetailLog Refresh call.
|
||||||
|
Convert BSCharacter to use all API2
|
||||||
|
Avatar pushing difficult (too heavy?)
|
||||||
|
Use asset service passed to BulletSim to get sculptie bodies, etc.
|
||||||
|
Vehicles (fix bouncing on terrain)
|
||||||
|
Remove old code in DLL (all non-API2 stuff).
|
||||||
|
Measurements of mega-physical prim performance (with graph)
|
||||||
|
Debug Bullet internal stats output (why is timing all wrong?)
|
||||||
|
Bullet stats logging only works with a single instance of Bullet (one region).
|
Loading…
Reference in New Issue