Fast ray tracing and the potential effects on graphics and gaming courses

The modern graphics processing units (GPUs), found on almost every personal computer, use the z-buffer algorithm to compute visibility. Ray tracing, an alternative to the z-buffer algorithm, delivers higher visual quality than the z-buffer algorithm but has historically been too slow for interactive use. However, ray tracing has benefited from improvements in computer hardware, and many believe it will replace the z-buffer algorithm as the graphics engine on PCs. If this replacement happens, it will imply fundamental changes in both the API to and capabilities of 3D graphics engines. This paper overviews the backgrounds in z-buffer and ray tracing, presents our case that ray tracing will replace z-buffer in the near future, and discusses the implications for graphics oriented classes should this switch to ray tracing occur. Since computer gaming is one of the most important industry driving graphics hardware and the fact that recently there are many computer science courses related to games and games development, we also describe the potential impact on games related classes.

[1]  Henry Fuchs,et al.  Frameless rendering: double buffering considered harmful , 1994, SIGGRAPH.

[2]  Michael Wimmer,et al.  Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful , 2004, Comput. Graph. Forum.

[3]  Steve Cunningham,et al.  Varieties of computer graphics courses in computer science , 1988, SIGCSE '88.

[4]  Turner Whitted,et al.  An improved illumination model for shaded display , 1979, CACM.

[5]  Steve Cunningham Powers of 10: the case for changing the first course in computer graphics , 2000, SIGCSE '00.

[6]  Ian Parberry,et al.  Experience with an industry-driven capstone course on game programming: extended abstract , 2005, SIGCSE '05.

[7]  Nils Faltin Designing courseware on algorithms for active learning with virtual board games , 1999, ITiCSE '99.

[8]  Roman Kuchkuda,et al.  An introduction to ray tracing , 1993, Comput. Graph..

[9]  Peter-Pike J. Sloan,et al.  Interactive ray tracing , 2005, SIGGRAPH Courses.

[10]  Michael Zyda Educating the next generation of game developers , 2006, Computer.

[11]  Chris Wyman An approximate image-space approach for interactive refraction , 2005, ACM Trans. Graph..

[12]  James J. Kuffner,et al.  Computer games and CS education: why and how , 2005, SIGCSE.

[13]  Steve Cunningham,et al.  Teaching computer graphics without raster-level algorithms , 2006, SIGCSE '06.

[14]  Janet H. Murray,et al.  Game design education: integrating computation and culture , 2006, Computer.

[16]  James J. Kuffner,et al.  Session details: Computer games and CS education: why and how , 2005, SIGCSE '05.

[17]  James H. Clark,et al.  The Geometry Engine , 1982, SIGGRAPH.

[18]  Ian Parberry,et al.  The art and science of game programming , 2006, SIGCSE '06.

[19]  David Chinnery,et al.  Closing the gap between ASIC & custom , 2002 .

[20]  Gertrude W. Abramson Dann, W., Cooper, S. & Pausch, R. (2006). Learning to program with Alice. Upper Saddle River, NJ: Prentice-Hall , 2008 .

[21]  Woei-Kae Chen,et al.  Teaching Object-Oriented Programming Laboratory With Computer Game Programming , 2007, IEEE Transactions on Education.

[22]  Peter Shirley,et al.  Realistic ray tracing , 2000 .

[23]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[24]  Erik Reinhard,et al.  Temporally Coherent Interactive Ray Tracing , 2002, J. Graphics, GPU, & Game Tools.

[25]  Mario A. López,et al.  Building a game development program , 2006, Computer.

[26]  Ray Giguette Pre-games: games designed to introduce CS1 and CS2 programming assignments , 2003, SIGCSE.

[27]  Craig Upson,et al.  V-buffer: visible volume rendering , 1988, SIGGRAPH.

[28]  Mark C. Lewis,et al.  Graphical game development in CS2: a flexible infrastructure for a semester long project , 2006, SIGCSE '06.

[29]  Alan G. Labouseur,et al.  Game design & programming concentration within the computer science curriculum , 2005 .

[30]  Peter Shirley,et al.  Experiencing aspects of games programming in an introductory computer graphics class , 2007, SIGCSE '07.

[31]  George Drettakis,et al.  Perspective shadow maps , 2002, ACM Trans. Graph..

[32]  Daniel T. Joyce,et al.  Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2004, Norfolk, Virginia, USA, March 3-7, 2004 , 2004, SIGCSE.

[33]  Alan G. Labouseur,et al.  Game design & programming concentration within the computer science curriculum , 2005, SIGCSE '05.

[34]  Jan Kautz,et al.  Packet-based whitted and distribution ray tracing , 2007, GI '07.

[35]  Friedhelm Meyer auf der Heide,et al.  The randomized z-buffer algorithm: interactive rendering of highly complex scenes , 2001, SIGGRAPH.

[36]  Benjamin Watson,et al.  Interruptible rendering , 2002, SIGGRAPH '02.

[37]  James H. Clark,et al.  The geometry engine: a VLSI geometry system for graphics , 1998 .

[38]  Andrew S. Glassner,et al.  An introduction to ray tracing , 1989 .

[39]  Elaine Cohen,et al.  Practical Ray Tracing of Trimmed NURBS Surfaces , 2000, J. Graphics, GPU, & Game Tools.

[40]  R. Daniel Bergeron Proceedings of the 9th annual conference on Computer graphics and interactive techniques , 1982, SIGGRAPH.

[41]  Stuart Hansen The game of set®: an ideal example for introducing polymorphism and design patterns , 2004 .

[42]  Rosalee Wolfe Bringing the introductory computer graphics course into the 21st century , 2000, Comput. Graph..

[43]  Jung Hong Chuang Level of Detail for 3D Graphics , 2002 .

[44]  Andrew M. Phelps,et al.  MUPPETS: multi-user programming pedagogy for enhancing traditional study: an environment for both upper and lower division students , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[45]  Peter-Pike J. Sloan,et al.  Interactive ray tracing , 1999, SI3D.

[46]  Randolph M. Jones,et al.  Design and implementation of computer games: a capstone course for undergraduate computer science education , 2000, SIGCSE '00.

[47]  Jim Hurley,et al.  Ray Tracing Goes Mainstream , 2005 .

[48]  Jessica D. Bayliss,et al.  Games as a "flavor" of CS1 , 2006, SIGCSE '06.

[49]  Randy Pausch,et al.  Learning To Program With Alice , 2004 .

[50]  Scott Grissom,et al.  Approaches to teaching computer graphics (abstract) , 1995, SIGCSE '95.

[51]  Joel C. Adams Chance-It: an object-oriented capstone project for CS-1 , 1998, SIGCSE '98.

[52]  Ian Parberry,et al.  Experience with an industry-driven capstone course on game programming: extended abstract , 2005 .

[53]  E. Brunvand,et al.  Estimating Performance of a Ray-Tracing ASIC Design , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[54]  Frederick P. Brooks,et al.  Fast spheres, shadows, textures, transparencies, and imgage enhancements in pixel-planes , 1985, Advances in Computer Graphics.

[55]  Tracy Fullerton,et al.  Play-centric games education , 2006, Computer.

[56]  Katrin Becker,et al.  Teaching with games: the Minesweeper and Asteroids experience , 2001 .

[57]  WhittedTurner An improved illumination model for shaded display , 1979 .

[58]  Neil Hunt,et al.  The triangle processor and normal vector shader: a VLSI system for high performance graphics , 1988, SIGGRAPH.