| Assignments | Important Dates |
|
Week 1: 1/21-1/25
Topics: course introduction; introduction to OpenGL;
mathematics for computer graphics
Reading: from Hill & Kelley:
- introduction to computer graphics: chapter 1.1-1.2
- introduction to OpenGL: chapters 2.1-2.4 and 3.1-3.2 except 2.3.3; skim
2.3.4-2.3.5
- mathematics for computer graphics: chapter 4.1-4.5.4 except
4.3.4, 4.5.2; skim 4.2.2, 4.3.5-4.3.6, 4.4.3, 4.5.4 noting
definitions and applications
Reading the text: The textbook acts in part as a reference, and
also has many examples. A good strategy for approaching the reading
is to first skim the assigned sections to get a sense of what
information is there and what the key points are, then go back and
study the details and examples more carefully.
Lecture Notes: Slides are provided in PDF format (get the free
Adobe
Acrobat reader). "View" version is full-size and color,
suitable for onscreen viewing. "Print" version is four-to-a-page and
black-and-white with white backgrounds, suitable for printing.
To save toner and paper, please do not print the "view" version.
- Mon: Introduction to OpenGL (part 1 - anatomy of an OpenGL program)
[view,
print]
- Fri: Introduction to OpenGL (part 2 - gluOrtho2D)
[view,
print]
- Fri: Math for Computer Graphics (part 1 - points, vectors, coordinate systems, homogeneous coordinates)
[view,
print]
Examples:
- demo.cc (demo OpenGL program;
draws colored dots)
|
|
|
|
|
|
|
HW 1: Introduction to OpenGL
due Mon 1/28 |
|
|
|
|
|
|
|
Week 2: 1/28-2/1
Topics: transformations; 3D graphics with OpenGL;
building scenes
Reading: from Hill & Kelley:
- transformations: chapter 5.1-5.4; skim 5.2.7 noting
properties
- 3D graphics with OpenGL: chapter 5.5-5.6.3; skim 5.5 noting
ways in which transformations are used
Lecture Notes:
- Mon: Math for Computer Graphics (part 2 - matrices)
[view,
print]
- Mon: Transformations
[view,
print]
- Wed: Viewing and Transformations in OpenGL
[view,
print]
|
HW 2: Transformation Game
due Fri 2/1 |
|
|
|
|
|
|
|
|
HW 3: Viewing and Transformations in OpenGL
due Wed 2/6 |
|
|
Week 3: 2/4-2/8
Topics: hierarchical modeling and scene graphs; the
viewing transform; projections
Reading: from Hill & Kelley:
- math review: chapter 4.5.5 (representation of lines and planes),
4.6 except 4.6.1 (intersection of lines)
- viewing: chapter 7.1-7.3 (skip "Drawing SDL Scenes Using a
Camera" in section 7.3.1)
- projections: chapter 7.6, 7.4 (skip "Clipping Faces Against the
View Volume" and "Why Did We Clip..." pp. 356-361)
Lecture Notes:
- Mon: Representation of Scenes
[view,
print]
- Mon: Viewing (modeling transform, view matrix)
[view,
print]
- Wed: Projections
[view,
print]
- Fri: Mathematics of Perspective Projections
[view,
print]
|
|
|
|
|
|
Raytracer #1: Camera
due Wed 2/13 |
|
|
|
|
|
|
Week 4: 2/11-2/15
Topics: mathematics of projections; lighting
Reading: from Hill & Kelley:
- projections: chapter 7.6, 7.4 (skip "Clipping Faces Against the
View Volume" and "Why Did We Clip..." pp. 356-361)
- lighting: chapter 8.1-8.2 (skip 8.2.10)
Lecture Notes:
- Mon: Mathematics of Parallel and Oblique Projections
[view,
print]
- Fri: Viewport Matrix
[view,
print]
- Fri: Lighting: Diffuse Reflection
[view,
print]
|
|
|
|
|
HW 4: Projections in OpenGL
due Fri 2/15 |
|
|
|
|
|
Raytracer #2: Projection
due Fri 2/22 |
|
|
Week 5: 2/18-2/22
Topics: lighting; color
Reading: from Hill & Kelley:
- lighting: 8.1-8.2.9
- color: 11.1-11.2 (introduction of 11.2 only; skip 11.2.1-11.2.2), 11.4.2
Lecture Notes:
- Mon: Lighting: Specular Reflection, Ambient Light, Color
[view,
print]
- Wed: Lighting: RGB, Enhanced Lighting Model, Lights and Materials in OpenGL
[view,
print]
|
|
|
|
|
|
|
|
|
HW 5: Color
due Mon 2/25 |
|
|
|
Week 6: 2/25-2/29
Topics: lighting and materials in OpenGL; raster
rendering: polygon pipeline
Reading: from Hill & Kelley:
- building blocks for raster rendering: 1.3-1.4
- modeling with polygon meshes: 6.1-6.2.2
- flat and smooth shading: 8.3
- visible surface determination: 8.4
- clipping and scan conversion: 4.7-4.8, 9.4, 9.7 (all optional)
- aliasing and antialiasing: 9.8 (introductory section), 9.8.1
Lecture Notes:
- Mon: Polygon Pipeline: Polygon Meshes, Clipping, Back-Face Culling, Scan Conversion
[view,
print]
- Wed: Polygon Pipeline: Scan Conversion, Antialiasing, Shading
[view,
print]
|
HW 6: Lights and Materials in OpenGL
due Fri 2/29 |
|
|
|
|
|
|
|
|
|
Raytracer #3: Lighting
due Fri 3/7 |
|
|
Week 7: 3/3-3/7
Topics: polygon pipeline; raytracing: modeling, intersections, normals
Reading: from Hill & Kelley:
- basic raytracing: 12.1-12.4, 12.6-12.7.2 (12.5 has a discussion of how the code in a raytracer can be organized - it is worth reading, but our raytracer will be organized a bit differently)
Lecture Notes:
- Mon: Polygon Pipeline: Shading, Visible Surface Determination, Wrapup
[view,
print]
- Wed: Raytracing: Introduction, Ray Generation, Ray-Object Intersections
[view,
print]
- Fri: Raytracing: MC Intersections, Normals, Pseudocode
[view,
print]
|
|
|
|
|
|
|
|
|
|
Raytracer #4a: Intersections and Normals
due Thu 3/13 |
|
|
Week 8: 3/10-3/14
Topics: raytracing; exam
|
|
|
|
|
|
midterm exam in class Wed 3/12 (review information) solutions (PDF) |
|
|
spring break |
|
3/17-3/21
|
|
Week 9: 3/24-3/28
Topics: raytracing: shadows, reflection, transparency
Reading: from Hill & Kelley:
- shadows: 12.11
- reflection and transparency: 12.12
Lecture Notes:
- Mon: Photorealism in Raytracing: Shadows, Reflection (part 1)
[view,
print]
- Wed: Photorealism in Raytracing: Reflection (part 2), Refraction
[view,
print]
- Fri: Photorealism in Raytracing: Implementation Notes (recursive raytracing)
[view,
print]
|
|
Raytracer #4b: Basic Raytracer
due Wed 4/2 |
|
|
|
|
|
|
|
|
|
|
Week 10: 3/31-4/4
Topics: raytracing: efficiency; animation
Reading: from Hill & Kelley:
- efficiency: 12.10 (12.10.3 is optional)
Lecture Notes:
- Mon: Photorealism in Raytracing: Other Effects
[view,
print]
- Wed: Raytracing: Efficiency
[view,
print]
- Fri: Animation: Introduction and Keyframing
[view,
print]
|
|
|
|
|
|
Raytracer #5: Recursive Raytracer
due Wed 4/16 |
|
|
|
|
|
|
Week 11: 4/7-4/11
Topics: animation
Optional Reading: (on Blackboard)
- dynamics: "Particle System Dynamics" (particles), "Unconstrained Motion"
(rigid bodies), "Constrained Motion" (collisions)
- particle systems: "Particle Systems - A Technique for Modeling a Class of
Fuzzy Objects" (particle systems),
"Approximate and Probabilistic Algorithms for Shading and
Rendering Structured Particle Systems" (structured particle systems)
Lecture Notes:
- Mon: Animation: Explicit Scripting, Kinematics, Dynamics
[view,
print]
- Wed: Animation: Particle Systems
[view,
print]
- Fri: Animation: Hierarchial and Structured Particle Systems
[view,
print]
Examples:
|
|
|
|
|
|
|
|
|
|
|
|
Week 12: 4/14-4/18
Topics: animation; textures and bumps
Reading: from Hill & Kelley:
- textures: 8.5 (the details of texture mapping in OpenGL is optional)
Optional Reading: (posted on Blackboard)
Lecture Notes:
- Mon: Animating Structured Particle Systems, Behavioral Animation
[view,
print]
- Wed: Behavioral Animation
[view,
print]
- Fri: Behavioral Animation
[view,
print]
|
|
|
|
|
|
Final Project
due Tue 5/6 |
|
|
|
|
|
|
Week 13: 4/21-4/25
Topics: textures and bumps; radiosity
Reading: from Hill & Kelley:
- textures: 8.5 (the details of texture mapping in OpenGL is optional)
- radiosity: Radiosity in English
Lecture Notes:
|
|
|
|
|
|
|
|
|
|
|
|
Week 14: 4/28-5/2
Topics: radiosity; photon mapping
Reading:
Lecture Notes:
|
|
|
|
|
|
|
|
|
|
|
|
Week 15: 5/5-5/6
Topics: project demos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reading Period and Exams: 5/7-5/13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final exam Sun 5/11 3-6pm (review information) |
|
|
|
|
|
|