An extensible framework for teaching Computer Graphics with Java and OpenGL