Foundations of 3D graphics : using JOGL and Java3D