Foundations of 3D Graphics Programming: Using JOGL and