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