Readings for CS448: Advanced Rendering

Papers and articles available on the web will not be handed out in class. Pointers to the online versions of papers are included by the reference. You are expected to download and print these papers yourselves. One reason for doing this is that many graphics papers contain pictures that do not reproduce well when copied. The ACM and IEEE Digital Libraries are now available online for Stanford students. They are a great resource: learn to use them.

Readings not available online will be handed out in class. They will also be available in the CS348B course handout cabinet in Gates Rm 377 (the copy room in the graphics wing 3B).

Hint: Read the material before class!


Oct 1 Introduction to Programmable Graphics

R. Cook, Shade Trees, Computer Graphics, 18(3), pp. 223-230, 1984. [acm]

K. Perlin, An image synthesizer, Computer Graphics, 19(3), pp. 287-296, 1985. [acm]

When reading this paper, concentrate on the overall system architecture. However, this paper is most famous for introducing noise into computer graphics. Perlin recently gave an overview of the development of noise for the Game Developers Conference. See also his paper Improving Noise and his song Rappin' Noise from SIGGRAPH 2002.

P. Hanrahan, J. Lawson, A language for shading and lighting calculations, Computer Graphics, 24(4), pp. 289-298, 1990. [acm]

Only published paper on RenderMan. See the RenderMan Companion and Advanced RenderMan for more details.

N. England, A graphics system architecture for interactive application-specific display functions, IEEE CGA, pp. 60-70, Jan 1986.

See also Nick England's history of Ikonas Graphics Systems; Paul Heckbert also has a collection of old Ikonas graphics programs.

A. Levinthal, T. Porter, Chap - A SIMD Graphics Processor, Computer Graphics, 18(3), pp. 77-82, 1984, [acm pdf]

A. Levinthal, P. Hanrahan, M. Paquette, J. Lawson, Parallel computers for graphics applications, ASPLOS II, pp. 193-198, 1987. [acm]

Oct 3 Design of the R300, Mark Leather (ATI)

DirectX 9 Shading, Jason Mitchell.

Gives an overview of the differences between DX8 and DX9 pixel shaders, PS 1.4 (supported in the R200) and PS 2.0 (supported in the R300). Also covers Microsoft's HLSL. For additional information see all the presentations from ATI's mojo day.


ATI Developer Site.

OpenGL vertex program specification.

OpenGL fragment program specification.

Oct 8 Design of the of the NV20 and NV30 instruction sets, Erik Lindholm (NVIDIA)

E. Lindholm, M. Kilgard, H. Moreton, A user-programmable vertex engine, Siggraph 2001 Proceedings, pp. 149 - 158, 2001. [acm]


NVIDIA Developer Site.

NVIDIA OpenGL Extension Specifications for CineFX Architecture(NV30) (In particular, look at the GL_vertex_program2 and NV_fragment_programs extensions.)

Slide overview of NV30 OpenGL spec

Tech brief on the CineFX architexture released after SIGGRAPH and a related presentation

Oct 10 Cg -- C for Graphics

The Hanrahan and Lawson paper from the Oct. 1 reading list, if you didn't read it already.

Sections 1 and 2 (pp. 1-12) of the book chapter "Real-Time Programmable Shading"

This chapter will appear in the 3rd edition of Texturing and Modeling: A Procedural Approach.
A copy of a draft of this book chapter will be handed out in class on Oct 8.

Chapter 1 (pp. 1-17) of the Cg User's Manual.

Background Reading

Cg Language Specification.

The same NV30 readings listed under Oct 8 lecture.

For additional background material, consult the references list in the "Real-Time Programmable Shading" book chapter.

Oct 15 Stream programming, Brook

No readings

Oct 17 Functional GPU Programming

C. Elliot, Functional image synthesis, Bridges 2001, [project page]


C. Elliot, S. Finne, O. de Moor, Compiling embedded languages, [project page]

A more detailed paper describing the overall approach to using Haskell as a high-level, domain-specific language.

Oct 22 Ray Tracing on GPUs

T. Purcell, I. Buck, B. Mark, P. Hanrahan, Ray tracing on programmable graphics hardware, ACM Transactions on Graphics. 21 (3), pp. 703-712, 2002. (Proceedings of ACM SIGGRAPH 2002). [pdf]


N. A. Carr, J. D. Hall and J. C. Hart. The Ray Engine. Proc. Graphics Hardware 2002, Sep. 2002. [pdf]

This paper describes how to implement the ray-triangle intersection kernel on a GPU, and then how to use that as a building block in a more general ray tracer that runs on the CPU.

D. Hall, The AR250: A New Architecture for Ray Traced Rendering, Presentation for SIGGRAPH/Eurographics 1999 Hardware Workshop in Computer Graphics. [slides]

ART marketed a rendering accelerator based on the AR250.

J. Schmittler, I. Wald, P. Slusallek, SaarCOR - A Hardware Architecture for Ray Tracing Proc. Graphics Hardware 2002, Sep. 2002. [pdf]

An alternative to using graphics hardware is to build a special-purpose ray tracing chip; here is a recent design.

I. Wald and P. Slusallek, State-of-the-Art in Interactive Ray-Tracing, in State of the Art Reports, EUROGRAPHICS 2001, pp. 21-42, Manchster, United Kingdom, September 3-7, 2001. [pdf]

An excellent overview of the fastest parallel ray tracers on parallel computers such as clusters or shared-memory multiprocessors.

Oct 31 Lighting Design

S. Callahan, Storytelling through lighting, Chapter 13, In Advanced Renderman.


R. Barzel, Lighting Controls for Computer Cinematography, Journal of Graphics Tools, 2(1), 1997, pp. 1-20. pdf.

Reflection as Convolution

G Miller, C. R. Hoffman, Illumination and Reflection Maps: Simulated Objects in Simulated and Real Environments, Course Notes for Advanced Computer Graphics Animation, SIGGRAPH 84 html

Early, now classic paper, that underlies modern reflection mapping. Since it was published only in the SIGGRAPH course notes, it is often overlooked. See Paul Debevec's excellent History of reflection mapping web site for additional historical material.

R. Ramamoorthi and P. Hanrahan, An Efficient Representation for Irradiance Environment Maps, SIGGRAPH 01, pp 497-500. [pdf].


R. Ramamoorthi, P. Hanrahan, On the Relationship between Radiance and Irradiance: Determining the illumination from images of a convex Lambertian object, Journal of the Optical Society of America (JOSA A) Oct 2001, pages 2448-2459. [pdf].

Detailed derivation of the formula for the Lambertian case.

R. Ramamoorthi, A signal processing framework for forward and inverse rendering, Ph. D. Thesis, Department of Computer Science, Stanford University, 2002. [pdf].

Low-dimensional Lighting

R. Epstein, P. Hallinan, A. Yuille. 5 +/- 2 eigenimages suffice: an empirical investigation of low-dimensional lighting models, IEEE workshop on physics-based modeling in computer vision, pp 108-116, 1995. [pdf]

P. Belhumeur and D. Kriegman, What is the space of images under all possible lighting conditions? IJCV 28(3) pp 245-260, 1998. [pdf]


R. Basri and D. Jacobs, Lambertian Reflectance and Linear Subspaces, NEC Research Institute Technical Report 2000-172R, Weizmann Institute of Science Technical Report MCS00-21. A version also appeared in ICCV '01. [ps]

Independent derivation of the formula for diffuse reflection given by Ramamoorthi and Hanrahan. This research was motivated by the desire to explain why the space of all images under lighting variations is low-dimensional.

Nov 14 Photons Mapping

H. Rushmeier and G. Ward, Energy preserving non-linear filters, SIGGRAPH '94, pp. 131-138, 1994. [Paper Page]

G. Ward, F. Rubinstein and R. Clear, A ray tracing solution for diffuse interreflection, SIGGRAPH '88, pp. 85-92, 1988. [pdf]

H. W. Jensen, Global illumination using photon maps, In Rendering Techniques '96, pp. 21-30, 1996. [Paper Page]


Henrik Wann Jensen, Realistic Image Synthesis Using Photon Mapping A. K. Peters, 2001.

Nov 19 Exotic Materials II: Translucency

H. W. Jensen, S. Marschner, M. Levoy, P. Hanrahan, A practical model for subsurface light transport, Proceedings of SIGGRAPH 2001. [pdf]


S. Upstill, The RenderMan Companion, Addison-Wesley, 1990.

A. Apodaca, L. Gritz, Advanced RenderMan: Creating CGI for Motion Pictures, Morgan-Kaufman Publishers, 2000.

D. Ebert, F. K. Musgrave, D. Peachey, K. Perlin, S. Worley, Texturing and Modeling: A Procedural Approach, 2nd ed., Academic Press, 1998.

M. Olano, J. Hart, W. Heidrich, M. McCool, Real-Time Shading, A. K. Peters, 2002.

Copyright © 2002 Pat Hanrahan