Same as CrossPlatform3DLearning, but in Java instead of C++