Survey of Computer Graphics
GPH 425 (701)

Marcus Schaefer

Latest additions

Final Results gallery is online

Homework 7 and 8 galleries are online

Homeworks and Examples

Assignments will be available through this webpage. Homeworks are due on the day of class. No late homeworks.



Week 1  
Week 2a (math, z-buffer, raytracing)
Week 2b (POV-Ray)
reflect.pov (max_trace_level)
text.pov (text, scale, rotate, translate)
partialdie.pov (CSG)
Week 3a (illumination, shading)
Week 3b (POV-Ray)
lens.pov (filter, transmit, ior); you'll need flowers.jpg (or any other picture)
lathe.pov (lathe object, linear, quadratic, cubic spline on same pointset)
3sidedvase.pov (combining lathe and CSG)
Week 4a (programming, fractals)
Week 4b (2d texture)
Week 4c (3d texture)
diamond1.pov (loop)
diamond2.pov (macro, pict: grass.jpg) (include file for grass/lawn)
grass1.pov (loop)
grass2.pov (macro)
grass3.pov (macro with parameters)
lawn1.pov (macro)
lawn2.pov (better/faster arithmetic)
gasket.pov (recursion with macros) [bottle by Francisco Muñoz]
tree.pov (simple recursive tree) (leaf, pict: orange maple) [by Eric Sedgwick]
lettering.pov (object map)
frame.pov (image_map, uses flowers.jpg)
checker.pov (checker texture)
brick.pov (brick texture)
Week 5a (3d texturing)
Week 5b (isosurfaces)
Week 5c (more on texturing)
3dtexture.pov (3d onion texture, modify phase, frequency, waveform)
wood.pov (wood texture)
iso0.pov (basic isosurfaces (check out comments))
iso1.pov (simple landscape, f_noise3d,
iso4.pov (bumpy sphere)
iso2.pov (CSG with isosurfaces, see comments, and check out
iso3.pov (landscape with signposts, trace,
earth.pov (look at comments)
Week 6a (bump mapping) AlphaRadial.pov (weighted texture averaging)
ornament.pov (material map, uses flowers.gif)
notteapot.pov (bump map, uses and teapot.gif)
teapot.pov (normal patterns, uses
log.pov (averaging normal patterns)
Week 7a (camera)
Week 7b (Lighting)
Week 7c (Light effects)
hw4_lawnsol.pov (partial solution)
cubes.pov (different camera types)
panoramic.pov (panoramic)
blurExample.pov (soft focus)
lamp.pov (looks_like)
fog0.pov (fog)
fog1.pov (ground fog)
cornell.pov (radiosity)
lampradiosity.pov (radiosity)
emit.pov (emission)
micro.pov (emission, density)
Week 8a (more camera)
Week 8b (Lighting)
scatter.pov (scattering)
fireplug.pov (3 point lighting; uses by Christophe Bouffartigue)
fireplugkeyfill.pov  (key-fill ratio)
lampshadow.pov  (negative light)
vertigo.pov  (perspective; change angle)
blinds.pov  (gobo, uses blindsbw.gif)
firepluggobos.pov  (gobo, uses tree.gif, leaves.gif [not realistic, gobo needs work])
Week 9a (photons)
Week 9b (animation)
lampradiositynew.pov (the effect of radiosity)
photons.pov (photons and reflection)
scatter2withphotons.pov (photons and media)
Interior0.pov (lens)
Interior1.pov (photons and refraction)
Interior2.pov (photons and dispersion)

To assemble the animation use pjBmp2Avi.exe. (Some examples come without .ini file, you can adapt (or simply) use any of the other .ini files)

asphere.pov (animating sphere, uses asphere.ini)
logroll.pov (rolling log, uses logroll.ini)
logrollc.pov (crashing rolling log, uses logrollc.ini)
animSpotlight.pov (moving spotlight)
animLight.pov (disco light)
animTexture1.pov (animating texture parameters)
vertigoanim.pov (crashing rolling log, uses vertigoanim.ini)

Week 10a (Odds and Ends) marble1.pov (animating sphere, uses marble1.ini, avi file: marble1.avi)
marble2.pov (animating sphere, uses marble2.ini, avi file: marble2.avi [1MB])
ball.pov (animating sphere, uses ball.ini, avi file: ball.avi)

Questions and Answers


Classes and office hours

The class meets Tu 5:45pm-9:00pm  in  LEWIS 01111.

My office hours are TuTh, 4:00pm-5:30pm.

During that time you can find me in the CS&TC building, room 749.

If you want to set up an appointment at another time, or simply ask a question,

send email to




Homework, quizzes: 40%, Midterm: 30%, Final project: 30%.

No make-up exams.


For general information (literature, course summary), see the class syllabus.

General Policies

Academic Honesty


An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the School of Computer Science, Telecommunications and Information Systems. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Marcus Schaefer
Last updated: July 19th, 2005.