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 2007
Prerequisite: CS 381 (Graphics)

Instructor: Dr. Orion Lawlor
ffosl@uaf.edu, 474-7678
Office: 210C Chapman
Hours: noon-1 MWF (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 (& links to Blackboard): http://www.cs.uaf.edu/2007/spring/cs481
Machines: Chapman lab, Chapman 205 Powerwall

Course Goals and Requirements

By the end of the course, you will be able to write C++ OpenGL applications that work on parallel image display walls; render terrains, characters, fractals, and volume datasets; and use antialiasing, raytracing, radiosity, and particle systems.

Calendar

Last day to drop: February 2.  Spring break: March 10-18. Last day to withdraw: March 23. Midterm exam: 11:30am on Thursday, March 8.  Last day of class: Thursday, May 3. Final exam: 10:15am on Wednesday, May 9.

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

Your work will be evaluated on correctness, rationale, and insight, not on successful regurgitation of random trivia. Grades for each assignment and test may be curved. Your grade is then computed based on four categories of work:

  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: 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

Letter grades are then assigned at the usual 90/80/70 (etc) cutoffs. At my discretion, I may round your grade up if it is near a grading boundary. Students taking the graduate course will have extra exam questions and more complex projects.

Homeworks are 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.



Course Outline (Highly Tentative)

Before Spring Break:

  • The Basics (2 weeks; through Jan 25th)

    • Vectors, dot and cross, trigonometry

    • Coordinate systems, matrices

    • Camera matrix, camera motion, and coordinate frames

    • OpenGL "from scratch": startup, flags, and object setup

  • Primitives (2 weeks; through Feb 8th)

    • 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

  • Parallelism (3 weeks; through March 1st)

    • GPU: pixel-processing units, SLI/CrossFire

    • CPU: threads, networking, MPI

    • Display: powerwalls

    • All three at once: MPIglut

  • First project presentations, Midterm

After Spring Break:

  • External Interfacing (1 week; through Mar 22nd)

    • Maya, Blender, and 3D modeling programs

    • Character animation: file formats, bones, and skinning

  • Digital Photos (2 weeks; through April 5th)

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

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

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

    • Radiosity: global illumination, fuzzy shadows

    • Recursive software raytracing: true reflections, antialiasing

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

  • Second project presentations, Final


As Demand Warrants” (i.e., “Abandon All Hope”)

  • Beyond OpenGL

    • DirectX

    • OpenGL ES