Is there some bullet water buoyancy implementation I could use made for Bullet and Ogre?
My water is going to be btPairCachingGhostShape below water plane, and the vessel is btRigidBody. Distant vessels are not physical so they don't bother.
I drag my water with camera anyway keeping height at zero.
Well, Bullet forums are fruitless on the subject, but I know the theory - I just need Ogre's (not Bullet's) AABB for the entity and current transformed UP vector (node->getRotation() * Ogre::Vector3::UNIT_Y), also I need actual position in 3D. This way I can calculate 4 points on the node on which I check water level using simplified sine formula I use in shader for a surface and time. Knowing water level at each of 4 points, the height of AABB we can calculate how much submerged that point is and upward force at that point. If the body is kinematic it can be just upward velocity/angular velocity.