Abstract

coaster is a project that teaches a semester-long introductory computer graphics class by means of ten programming assignments. The assignments are incremental - each one building on the previous ones - and ultimately require implementation of most of the course content in the final one: a first-person rollercoaster simulation. Briefly described, the assignments (and their course contents) are: circles (warmup, 2D graphics, applying trigonometry),wire track (3D graphics, parametric curves),wire car (meshes),hedgehog car (face and vertex normals),shaded car (lighting models and vertex shaders),shaded track (extrusion, model transforms),surfaces (Bezier surfaces, height maps),first person (viewing transforms, animation, splines),dynamics (physics-based modeling), andtextures (textures, pixel shaders).There is also an eleventh project of the student's own (approved) design. Students are provided with template code for the first ten programming assignments. The languages used are C++ on the CPU and GLSL on the GPU. Students are presumed to have access to OpenGL/GLSL 3.3/3.30 and the GLUT and GLEW libraries.Both undergraduate and graduate students take the class. and it has been presented twice at Washington State University, both times with about half of the students on a remote campus receiving it as a live telecourse. Student response has been very positive.The goal of this lightning talk is to elicit interest from the computer graphics teaching community in making coaster systematically available to other universities by providing source code and training to instructors.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call