Learning Modern 3D Graphics Programming with OpenFL