This app simulates buoyancy, and nothing but buoyancy, in real time (for me at least). Drop in a .obj file to change the mesh to anything you want. You should however make sure the mesh is "nice". With "nice" I mean the mesh is closed and has no intersecting triangles, otherwise the simulation will be totally wrong. The red/green/blue cross is the position/orientation of the mesh, centered at the center of mass. The black cross is the center of buoyancy. The black square is the water level, and is 2 by 2 meters wide.
WASD + Shift + Space to move the camera. Scroll mouse wheel to change the movemement sensitivity of the camera. Drag left mouse button to pan/tilt camera. If your on a touch device you can pan/tilt the camera using a single touch drag, and move the camera by double touch drag.