CS 481/681 - Topics in Computer Graphics

Meeting time: 11:30-1:00pm
Room 306 Duckering
University of Alaska Fairbanks

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

Instructor: Dr. Orion Lawlor
lawlor@alaska.edu, 474-7678
Office: 201E Chapman
Hours: 4-5 TR (or whenever!)

Optional Textbooks: Computer Graphics: Principles and Practice in C, Foley & van Dam
GPU Gems vols 1-3.

The final exam will be Wednesday, May 9, 5:45-7:45pm.
Email me your final project 2 code by Saturday, May 12.

Lecture Notes Example Code Homework
radiosity3_tritracer graphics demoradiosity3_tritracer--CPU-side triangle tracer: sums up solid angle of occluded polygons. .zip or .tgz (2012-08-17)
radiosity2 graphics demoradiosity2--Interactive global illumination, by just rendering the world from each vertex. .zip or .tgz (2012-04-24)
radiosity1 graphics demoradiosity1--Compute radiance integral, with conetraced shadows. .zip or .tgz (2012-04-24)
mesh6_smooth_SSAO graphics demomesh6_smooth_SSAO--Smoother Screen Space Ambient Occlusion, by adding a parabolic filter to the depth comparisons. .zip or .tgz (2012-04-12)
mesh5_occlusion graphics demomesh5_occlusion--Crude Screen Space Ambient Occlusion, by just comparing every pixel's depth against the depth of its neighbors. .zip or .tgz (2012-04-12)
mesh4_shadows graphics demomesh4_shadows--Multisample shadows using a shadow map drawn with perspective. .zip or .tgz (2012-04-12)
  • HW2: Covers Blender object modeling. Due anytime Thursday, April 19 via email. (modified 2012-04-10)
mesh2_deform graphics demomesh2_deform--Deform vertices using a time-dependent shift. .zip or .tgz (2012-03-27)
mesh1_read graphics demomesh1_read--Load a .obj model (from Blender), and draw the faces with random colors. Also includes a raytraced sphere, with Z buffer hybrid rendering. .zip or .tgz (2012-03-27)
  • proj1: Project presentations are Tuesday, March 27th in class, and final code is due Thursday, March 29th at midnight on Blackboard. (modified 2012-03-22)
ray9_CPU graphics demoray9_CPU--Raytrace on the CPU, not the graphics card. This lets you use true recursion, std::map, and other data structures not supported by the GPU. .zip or .tgz (2012-04-30)
ray15_waterblobs graphics demoray15_waterblobs--Refractive blobs, where rays can pass inside or outside. .zip or .tgz (2012-03-06)
ray14_blobs graphics demoray14_blobs--Render a blob object from a 3D distance field. .zip or .tgz (2012-03-06)
ray13_cloud3D graphics demoray13_cloud3D--Use a 3D texture to add mottled density to cloud layer. .zip or .tgz (2012-03-01)
ray12_clouds graphics demoray12_clouds--Volume renders a cloud layer, by reading "clouds.jpg" with the SOIL library. .zip or .tgz (2012-02-23)
ray11_fogclumps graphics demoray11_fogclumps--Patchy fog, integrated by stepping along each ray with a finite step size. .zip or .tgz (2012-02-21)
ray10_fogball graphics demoray10_fogball--Draw volume-rendered uniform gray fog inside a sphere. Try flying inside the sphere! .zip or .tgz (2012-02-20)
ray9_stack graphics demoray9_stack--Use a simulated stack to follow both reflected and refracted rays. .zip or .tgz (2012-02-16)
ray8_beach graphics demoray8_beach--Simple Fresnel approximation for water reflectance, and a curvature approximation for caustics. .zip or .tgz (2012-02-16)
ray7_refract graphics demoray7_refract--Refraction, where rays bend when entering or leaving the "water". .zip or .tgz (2012-02-13)
ray6_ground graphics demoray6_ground--Raytrace everything, including the ground. Virtually nothing left in C++. .zip or .tgz (2012-02-07)
ray5_reflect graphics demoray5_reflect--True reflections, using a tail recursion style iterative bounce reflection scheme. .zip or .tgz (2012-02-07)
ray4_functions graphics demoray4_functions--Include shadow rays, and support multiple objects using a clean "ray_hit_t" structure. .zip or .tgz (2012-02-07)
ray3_multi graphics demoray3_multi--Raytrace two objects in a single pass. .zip or .tgz (2012-02-01)
ray2_hybrid graphics demoray2_hybrid--Combine raytraced and non-raytraced geometry via the depth buffer. .zip or .tgz (2012-01-30)
ray1_disk graphics demoray1_disk--Run a 3D ray-plane intersection calculation, including diffuse+specular lighting. .zip or .tgz (2012-01-26)
gl_disk graphics demogl_disk--A simple fragment shader that draws a unit-radius 2D disk, centered at the origin. .zip or .tgz (2012-01-24)
nonlinear_vertex graphics demononlinear_vertex--Draw a simple gridded plane, divided into pieces suitable for manipulation in a vertex shader. Used for HW0. .zip or .tgz (2012-01-20)
  • HW1: Covers ray-object intersections. Due anytime on or before Tuesday, February 7 on Blackboard. (modified 2012-01-27)
  • HW0: Covers GLSL and nonlinear vertex transformations. Due anytime on or before Tuesday, January 31 on Blackboard. (modified 2012-01-20)

Reference Material