That sounds interesting. My engine system works with such a Endless-World principle where you define a World ( or more if you need something in parallel ) and Add Scenes to it which provide a local coordinate system. Currently I restrict Bullet to only use only the first scene ( hence failing at the others ). My intern ( non physics, just AI ) collision detection/response works with multiple scenes. What changes are there currently for supporting such a large setup? Where would "extra" work be required?Erwin Coumans wrote:There would be one other approach to support huge coordinates, instead of double support, but this requires some extra work/management:
A multiple-worlds approach, where each world has its own local coordinate system, and a clever approach how to move/merge overlapping simulation islands can solve some issue too. Basically the calculations are done in some arbitrary chosen local space. It would be best to do all collision and physics calculations in Bullet in relative coordinates instead of world coordinates. Such 'relative coordinate approach' has been recently added for Bullet's narrowphase GJK calculations and this improved precision. But other calculations like constraint/contact solving is still done in worldspace. So unless we improve all algorithms, it's probably safer/easier to just use brute-force double precision.
Thanks,
Erwin
--
Pl?ss Roland