Detección de colisión entre dos hexaedros generales.

Tengo 2 sólidos de seis caras. La única garantía es que cada uno tiene 8 vertex3f (verticies con los componentes x, y y z). Ante esto, ¿cómo puedo saber si estos están colisionando?