CS 481/681 – Topics in Computer Graphics

Meeting time: 11:30-1:00pm
Room 107 Chapman Building
University of Alaska Fairbanks

UAF CS F481/F681
3.0 Credits, Spring 2008
Prerequisite: CS 381 (Graphics)

Instructor: Dr. Orion Lawlor
ffosl@uaf.edu, 474-7678
Office: 210C Chapman
Hours: 2-3 TR (or whenever!)

Recommended Textbook: Interactive Computer Graphics, 4th Ed., by Edward Angel, Addison-Wesley ($112.50 at UAF bookstore; $100 on Amazon). The 3rd edition is also acceptable.

ADA Compliance: Will work with Office of Disabilities Services (203 WHIT, 474-7043) to provide reasonable accomodation to students with disabilities.

Course Website: http://www.cs.uaf.edu/2008/spring/cs481
Graphics Machines: Chapman lab

Course Goals and Requirements

By the end of the course, you will be able to write modern graphics software, and understand current technqiues in the field. This includes writing C++ OpenGL applications, writing programmable shaders that run on the graphics card, rendering terrains, fractals, and volume datasets, and using antialiasing, raytracing, radiosity, and particle systems. To do this, you must have a clear understanding of programming, simple OpenGL, 3D vectors and vector operations, and transformation matrices.

Student Resources

Academic Help: Google, Rasmuson Library, Academic Advising Center (509 Gruening, 474-6396), Math Lab (Chapman Room 305), English Writing Center (801 Gruening Bldg, 478-5246).

Grading

You'll get better grades by attending class, doing homework, and understanding the material than by cramming before the exam. The overall grade comes from:

  1. HW: Homeworks and machine problems, to be distributed through the semester.

  2. PROJ: two substantial graphics projects, together with a short presentation of your results. Example projects: read a paper and implement a similar technique, write a recursive raytracer, read a new model or character file format, implement a radiosity algorithm, or do any of these things in parallel.

  3. MT: Midterm Exam.

  4. FINAL: Final Exam (comprehensive).

The final score is then calculated as:

TOTAL = 20% HW + 30% PROJ + 25% MT + 25% FINAL

This percentage score is transformed into a plus-minus letter grade via these cutoffs: A >= 93%; A- 90%; B+ 87%; B 83%; B- 80%; C+ 77%; C 70%; D+ 67%; D 63%; D- 60%; F. The grades “C-”, “F+”, and “F-” will not be given. “A+” is reserved for truly extraordinary work. At my discretion, I may round your grade up if it is very close to a grading boundary. Students taking the graduate course will have extra exam questions, and be expected to complete more complex projects.

Individual assignments and tests may (rarely) be curved. Homeworks are normally due at midnight on the day they are due. Late homeworks will receive no credit. At my discretion, I may allow late assignments without penalty when due to circumstances beyond your control. Projects that are up to two weeks late may be accepted at a 50% grade penalty (e.g., on-time grade: 86%; late grade: 43%). Everything you turn in must be your own work--violations of the UAF Honor code will result in a minimum penalty equal to THAT ENTIRE SECTION OF YOUR GRADE (e.g., one plagiarized homework question will negate an otherwise perfect grade on all homeworks). However, even substantial reuse of other people's work is fine (and not plagiarism) if it is clearly cited; you'll be graded on what you've added to others' work. Group projects (NOT homeworks) are acceptable if you clearly label who did what work; but I do expect a two-person group project to represent twice as much work as a one-person project. Department policy does not allow tests to be taken early; but in extraordinary circumstances may be taken late.

Calendar

Last day to drop: February 8.  Spring break: March 8-16. Last day to withdraw: March 28. Midterm exam: 11:30am on Thursday, March 6.  Last day of class: Thursday, May 1. Final exam: 10:15am on Saturday, May 10.

Course Outline (Highly Tentative)

Before Spring Break:

    • Prerequisites: vectors, dot and cross products, trigonometry, matrices, colors, lighting, basic OpenGL (Jan 24)

    • Programmable shaders with GLSL (Jan 29 & 31)

    • Guest lectures: Dr. Genetti, volume rendering (Feb 5), Dr. Dart, water simulation (Feb 7)

    • Quality Rendering (2 weeks; through April 26th)

      • Antialiasing on the graphics card: points, lines, tris, objects

      • Recursive software raytracing: true reflections, antialiasing

      • Radiosity: global illumination, fuzzy shadows

    • First project presentations, midterm




After Spring Break:

  • Primitives (2 weeks; through end of March)

    • Fractals, iterated function systems, and the beauty of chaos

    • Particle systems (explosions, fog, fire)

    • Volume datasets and volume rendering

    • 3D terrain file formats and rendering via adaptive decimation

  • External Interfacing (1 week)

    • Maya, Blender, and 3D modeling programs

    • Character animation: file formats, bones, and skinning

  • Digital Photos (1 week)

    • Digital camera calibration, stitching, and high-dynamic-range

    • Computer vision: image alignment, 3D stereo displays and 3D stereo photography

  • Parallelism (2 weeks)

    • GPU: pixel-processing units, SLI/CrossFire

    • CPU: threads, networking, MPI

    • Display: powerwalls

    • All three at once: MPIglut

  • Second project presentations, Final