ShaderSchool – A tutorial for shader programming
Steffi Beckhausim/ve, University of Hamburg
Ulf Reimersim/ve, University of Hamburg
Malte Thiesenim/ve, University of Hamburg
CGEMS Honorable Mention
We present a tool for in-class and self-study learning that provides a convenient introduction into GLSL shader programming. The tool presents shaders in an interactive manner, and can be present in-class in a group interactive manner or used as an individual tutorial. In ShaderSchool the materials are presented in sections with interactive assignments integrated into the tool, which help reinforce the students learning. It was created and applied successfully in an university computer graphics class. Additionally, the ShaderSchool tool is extensible to easily incorporate further lessons.
Submission type: Lessons / Teaching GEMS
Published at: 9/7/2007
License: CC-GNU GPL
This software is licensed under the CC-GNU GPL.
Download (2,8 MB)

Categories: 3D modelling, Algorithmic, Software, Technology
Keywords: 3D pipeline, Lighting
Other Keywords: Shader Programming, OpenGL

Requirements: The tutorial is distributed as a ZIP file. To install, a user has to unpack the content into a new directory. The program is started by executing “ShaderSchool.exe”. There is a German and an English version of the tutorial. Normally it automatically recognizes which language to use, by querying the systems language settings. However, it can be forced to use one or the other option by executing the files “ShaderSchool_Force_English.bat” or “ShaderSchool_Force_German.bat”. On startup ShaderSchool displays “Lesson 0” that explains how to use the program. ShaderSchool runs on Windows 2000/2003/XP systems and requires an OpenGL compatible graphics card supporting the following extensions: ARB_multitexture ARB_shader_objects ARB_vertex_shader ARB_fragment_shader If a card does not support all extensions, a driver update may help. New driver versions often add support for previously unsupported extensions.
Intended Audience: This teaching gem is intended for intermediate to advanced computer graphic students. The material should be accessible to a student in the final portion of an graduate level introductory graphics class though, as much of the basics are throughly described. The contents of the teaching gem are applicable both for interactive classroom use by an instructor or for individual use. The materials have been used in-class using an interactive teaching style of a Teachlet. However, the Teachlet Tutorial format includes a tutorial format extension of the same material that can be used for either self-learning or for reviewing of topics on an individual basis.
Prerequisites: Introductory computer graphics course or potentially an advanced subject in such a course.