A diffuse interface method for complex three-dimensional free surface flows