Teaching a Modern Graphics Pipeline Using a Shader-based Software Renderer

Heinrich Fink, Thomas Weber, Michael Wimmer
Teaching a Modern Graphics Pipeline Using a Shader-based Software Renderer
In Eurographics 2012 -- Education Papers. May 2012.
[ preprint]
Content:

Information

Abstract

Shaders are a fundamental pattern of the modern graphics pipeline. This paper presents a syllabus for an introductory computer graphics course that emphasizes the use of programmable shaders while teaching raster-level algorithms at the same time. We describe a Java-based framework that is used for programming assignments in this course. This framework implements a shader-enabled software renderer and an interactive 3D editor. We also show how to create attractive course materials by using COLLADA, an open standard for 3D content exchange.

Additional Files and Images

Additional images and videos:
assignment_1
assignment_1
assignment_2
assignment_2
assignment_3
assignment_3
assignment_4
assignment_4
assignment_5
assignment_5
assignment_6
assignment_6
Additional files:
preprint
preprint





BibTeX

Download BibTeX-Entry
@inproceedings{fink-2012-cg1,
  title =      "Teaching a Modern Graphics Pipeline Using a Shader-based
               Software Renderer",
  author =     "Heinrich Fink and Thomas Weber and Michael Wimmer",
  year =       "2012",
  abstract =   "Shaders are a fundamental pattern of the modern graphics
               pipeline. This paper presents a syllabus for an introductory
               computer graphics course that emphasizes the use of
               programmable shaders while teaching raster-level algorithms
               at the same time. We describe a Java-based framework that is
               used for programming assignments in this course. This
               framework implements a shader-enabled software renderer and
               an interactive 3D editor. We also show how to create
               attractive course materials by using COLLADA, an open
               standard for 3D content exchange.",
  pages =      "%pages_from%--%pages_to%",
  month =      may,
  booktitle =  "Eurographics 2012 -- Education Papers",
  event =      "Eurographics 2012",
  location =   "Cagliari, Italy",
  keywords =   "Software Rasterizer, Introductory Computer Graphics,
               Collada, Java, Education",
  URL =        "http://www.cg.tuwien.ac.at/research/publications/2012/fink-2012-cg1/",
}