This paper presents the open-source glGA (Opengl Geometric Application) framework, a lightweight, shaderbased, comprehensive and easy to understand computer graphics (CG) teaching C++ system that is used for educational purposes, with emphasis on modern graphics and GPU application programming. This framework with the accompanying examples and assignments has been employed in the last three Semesters in two different courses at the Computer Science Department of the University of Crete, Greece. It encompasses four basic Examples and six Sample Assignments for computer graphics educational purposes that support all major desktop and mobile platforms, such as Windows, Linux, MacOSX and iOS using the same code base. We argue about the extensibility of this system, referring to an outstanding postgraduate project built on top of glGA for the creation of an Augmented Reality Environment, in which life-size, virtual characters exist in a marker-less real scene. Subsequently, we present the learning results of the adoption of this CG framework by both undergraduate and postgraduate university courses as far as the success rate and student grasp of major, modern, shader-based CG topics is concerned. Finally, we summarize the novel educative features that are implemented in glGA, in comparison with other systems, as a medium for improving the teaching of modern CG and GPU application programming.
[1]
Mario Romero.
Project-Based Learning of Advanced Computer Graphics and Interaction
,
2013,
Eurographics.
[2]
Vincent Lepetit,et al.
A Stable Real-Time AR Framework for Training and Planning in Industrial Environments
,
2004
.
[3]
Ying Zhu,et al.
Teaching programmable shaders: lightweight versus heavyweight approach
,
2005,
SIGGRAPH '05.
[4]
Edward Angel,et al.
Teaching a Shader-Based Introduction to Computer Graphics
,
2011,
IEEE Computer Graphics and Applications.
[5]
Janet L. Kolodner,et al.
Problem-Based Learning Meets Case-Based Reasoning in the Middle-School Science Classroom: Putting Learning by Design(tm) Into Practice
,
2003
.
[6]
Steve Cunningham,et al.
A hands-on environment for teaching GPU programming
,
2007,
SIGCSE.