Wed 09/09
Assigned Lab0
|
Introduction to
computer graphics and the course
Recommended reading:
Additional readings:
Optional reading:
|
Fri 09/11
|
Polygonal mesh, graphics pipeline
Recommended reading:
|
Fri 09/11 LAB
|
OpenGL and GLUT
Additional readings:
Optional reading:
|
|
|
Mon 09/14 LAB Assigned PA1
|
Lab0: Warmup
|
Wed 09/16
|
The GPU, raster graphics, line rasterization
Recommended reading:
Demoes:
Additional reading:
Optional readings:
- Akenine-Moeller and Stroem, "GPU
for Handhelds," Proc. of the IEEE, 96(5):779-789, May 2008 (section V.A on Tiling Architectures).
- Smith, A.R., A Pixel is not a Little Square, 1995.
- Bresenham, J.E., "Algorithm for Computer Control of a Digital Plotter," IBM Systems Journal, 4(1):25-30, 1965.
|
Fri 09/18
|
Line clipping
Recommended reading:
|
Fri 09/18 LAB
|
Lab1: Line rasterization
|
|
|
Mon 09/21
|
Triangle rasterization, polygon clipping
Recommended reading:
- TP3 Sections 2.5, 2.6, 2.9.3.
|
Tue 09/22, 5pm
|
Lab1 Due during Lisa's office hour
|
Wed 09/23
|
Occlusion culling
Recommended reading:
- TP3 Section 2.8, 5.5.1-5.6, Appendix E.
Demoes:
Additional reading:
Optional reading:
|
Fri 09/25
|
Anti-aliasing, compositing and the alpha channel; PA1 demo
Additional reading:
Optional reading:
|
Fri 09/25 LAB
|
Lab2: Triangle rasterization
|
|
|
Mon 09/28 Assigned HW1
|
2D transforms: linear and affine transforms
Recommended reading:
- TP3 Sections 3.1-3.6, 3.10, Appendix A.
Demoes:
Additional reading:
Optional reading:
|
Wed 09/30
|
Homogeneous coordinates and affine transforms, transforming normals
Recommended readings:
Demo:
Additional reading:
|
Fri 10/02
|
3D modeling transforms, Rodrigues formula, change of basis
Recommended reading:
|
Fri 10/02 LAB
|
Vertex array, viewing transforms
Recommended readings:
Additional reading:
- Redbook Ch. 2 section on Vertex Arrays, Ch. 7.
|
Sat 10/03 12 noon
PA1 Due
Assigned PA2
|
|
|
|
Mon 10/04
|
Projection and projection transforms
Additional reading:
|
Wed 10/07
|
Projection transforms in OpenGL
Demo:
Additional reading:
|
Fri 10/09
|
Scenegraph; Lighting and reflection (6.3 MB)
Recommended reading:
- TP3 Ch. 9, Sections 12.1-12.3.
Additional readings:
Optional readings:
|
Fri 10/09 LAB
|
Lab3: 3D Modeling and Transforms
|
|
|
Mon 10/12
|
Phong illumination model; Shading (6.5 MB)
Recommended reading:
Additional readings:
- Gouraud, H., "Continuous
Shading of Curved Surfaces," IEEE Trans. on Computers, C-20(6):623-629, June 1971.
- Phong, B-T., "Illumination
for Computer Generated Pictures," CACM, 18(6):311-317, June 1975.
|
Wed 10/14
|
Vertex-buffer object and vertex-array object
Demo:
Additional readings:
Optional readings:
|
Fri 10/16
|
Programmable shaders
Additional reading:
- Redbook Ch. 15.
- TP3 Section 12.12.
- Owens, J.D. et al., "GPU
Computing," Proc. of the IEEE, 96(5):879-899, May 2008 (up to section III.A).
- Cook, "Shade
Trees," Computer Graphics, 18(3):223-231, 1984.
- Hanrahan and Lawson, "A
Language for Shading and Lighting Calculations," Computer Graphics, 24(4):289-298, 1990.
Optional readings:
- Fatahalian and Houston, "A
Closer Look at GPUs," CACM, 51(10):50-57, 2008.
- Akenine-Moeller and Stroem, "GPU
for Handhelds," Proc. of the IEEE, 96(5):779-789, May 2008.
- Blythe, D., "The
Direct3D 10 System," Proc. ACM SIGGRAPH, 2006, and the accompanying
presentation.
- Lindholm, Kilgard, and Moreton, "A
User-Programmable Vertex Engine," Computer Graphics, 35(3):149-158, 2001 (nvidia's GeForce3 vertex engine).
- Mark, Glanville, Akeley, and Kilgard, "Cg:
A system for programming graphics hardware in a C-like language," Computer Graphics, 37(2):896-907, 2003.
- Owens, J.D. et al., "A Survey of General-Purpose Computation on Graphics Hardware," Computer Graphics Forum, 26(1):80-13, 2007.
|
Fri 10/16 LAB
|
Lab4: Viewing and Perspective Transforms
|
|
|
Mon 10/19 |
FALL BREAK |
Wed 10/21 HW1 Due
|
Application-shader interfacing
Demo:
|
Fri 10/23
|
Brief history of graphics hardware, OpenGL ES, OpenGL 3.1+, WebGL: HTML5 canvas element, JavaScript
Demo:
- gl3+webgl.tgz same as above
|
Fri 10/23 LAB
|
Lab5: Lighting and Vertex Buffer Object
|
Sat 10/24 12 noon
PA2 Due
Assigned PA3
|
|
|
|
Mon 10/26
|
NO Lecture: Midterm Review Session
Midterm Exam 6:00-8:00 pm in 1013 Dow
|
Wed 10/28
|
Light and color, color spaces (8.4 MB)
Recommended reading:
Demo:
Additional reading:
Optional reading:
- Rautio, J.C., "The Long road to Maxwell's Equations," IEEE Spectrum, 51(12):36-56, Dec. 2014.
- Newton, I., "New Theory About Light and Colors," Philosophical Transactions of the Royal Society of London, 1671(6):3075-3087, Jan. 1671.
- Maxwell, J.C., "A Dynamical Theory of the Electromagnetic Field," Philosophical Transactions of the Royal Society of London, 1865(155):459-512, Jan. 1865.
|
Fri 10/30
|
Intensity, (high) dynamic range (7.7 MB)
Recommended reading:
- TP3 Sections 11.2, 11.4, 11.5, 10.5.
Optional readings:
|
Fri 10/30 LAB Make-up Lecture
|
Low-level APIs: Metal, D3D12, Vulkan (8.1 MB)
Optional readings:
|
|
|
Mon 11/02
|
Texture mapping: texture coordinates, perspective-correct interpolation, texture sampler (7.4 MB)
Recommended reading:
- TP3 Sections 14.1-14.3, 2.7.
Demoes:
Additional readings:
Optional reading:
|
Wed 11/04
|
Pixel-buffer object and texture filtering: mipmapping, summed-area table, anisotropic filtering
Recommended readings:
Additional readings:
Optional readings:
|
Fri 11/06
|
Bump and normal mapping; procedural textures
Recommended reading:
Demoes:
Additional reading:
Optional readings:
- Blinn, "Simulation
of Wrinkled Surfaces," Computer Graphics, 12(3):286-292, 1978 (lots of OCR errors).
- Perlin, "An
Image Synthesizer," Computer Graphics, 19(3):287-296, 1985.
- Perlin, "Improving
Noise," Transactions on Graphics, 21(3):681-682, 2002.
|
Fri 11/06 LAB
|
Lab6: Textures and Mapped Pixel Buffer Object
|
|
|
Mon 11/09
Assigned HW2
|
Introduction to global illumination and ray tracing (6.3 MB)
Recommended reading:
Demo:
Additional reading:
|
Wed 11/11
|
Ray tracing implementation
Recommended reading:
- Shirley, Ashikmin, and Marschner, Fundamentals of Computer Graphics, Ch. 13, CRC Press, 2009.
|
Fri 11/13
|
Distributed ray tracing
Recommended reading:
Additional readings:
- Cook, Porter, and Carpenter, "Distributed Ray Tracing," Computer Graphics, 18(3):137-145, 1984.
- Cook, "Stochastic Sampling in Computer Graphics," ACM Transaction on Graphics, 5(1):51-72, 1986.
|
Fri 11/13 LAB
|
Lab7: Ray Tracing
|
|
|
Mon 11/16
|
Environment mapping, radiance map, accumulation buffer (5.4 MB)
Recommended reading:
Optional readings:
- Greene, "Environment Mapping and Other Applications of
World Projections," IEEE Computer Graphics and Applications, 6(11):21-29, Nov. 1986.
- Heidrich and Seidel, "Realistic,
Hardware-accelerated Shading and Lighting," Proc. of SIGGRAPH '99, pp. 171-178, 1999.
- Cabral, Olano, and Nemec, "Reflections
Space Image Based Rendering," Proc. of SIGGRAPH '99, pp. 165-170, 1999.
|
Wed 11/18
|
Interactive visual effects with stencil buffer and framebuffer object
Demo:
Additional readings:
- Haeberli and Akeley, "The
Accumulation Buffer: Hardware Support for High-Quality Rendering," Computer Graphics, 24(4):309-318, 1990.
- Yang, Yip, and Xu, "Visual
Effects in Computer Games," IEEE Computer, 42(7):48-56, July 2009
(video clips accompanying the paper).
Optional readings:
|
Fri 11/20
|
Shadow map and ambient occlusion
Recommended reading:
Additional reading:
Optional reading:
|
Fri 11/20 LAB
PA3 Due
Assigned PA4
|
NO LAB: Work on PA3
|
|
|
Mon 11/23
|
Introduction to animation, key-frame animation, kinematics, motion capture (11.2 MB)
Recommended reading:
- TP3 Sections 17.1-17.2.3, 17.3, 17.4.
Demoes:
Additional reading:
|
Wed 11/25
|
Parametric curves and splines; cubic splines: Hermite, cardinal, Catmull-Rom
Recommended reading:
- TP3 Sections 7.1, 7.5 (skim only, skip 7.5.3, 7.5.4)
Demoes:
Additional reading:
|
Fri 11/27
|
THANKSGIVING HOLIDAY
|
Fri 11/27 LAB
|
THANKSGIVING HOLIDAY
|
|
|
Mon 11/30
|
Modeling: polygonal mesh, simplification, LoD, mesh representations (6.6 MB)
|
Wed 12/02
|
Parametric surfaces: swept surfaces, arc length, geometric continuity, Bézier curves (12 MB)
Recommended reading:
Demoes:
Additional reading:
|
Fri 12/04
HW2 Due
|
Natural cubic splines, B-splines, rational curves, NURBS
Recommended reading:
- TP3 Sections 7.3 (skim 7.3.5), 7.4 (plus skim 7.5.3, 7.5.4), 7.6.
Demoes:
Additional reading:
Optional reading:
|
Fri 12/04 LAB
|
Lab8: Projected (Soft) Shadows with Framebuffer Object
|
|
|
Mon 12/07
|
Tensor product and Bézier subdivision (8.5 MB)
|
Wed 12/09
|
(B-spline) Subdivision surfaces (12.5 MB)
Recommended reading:
- TP3 Sections 8.1-8.4 (be sure to apply the errata first)
Demoes:
Additional readings:
- Catmull, E. and Clark, J., "Recursively generated B-spline surfaces on arbitrary topological meshes," Computer-Aided Design, 10(6):350-355, Nov. 1978.
- DeRose, T., Kass, M., and Troung, T., "Subdivision in Character Animation," Computer Graphics, pp. 85-94, 1998.
- Sharp, "Subdivision
Surface Theory," Game Developer Magazine, Jan. 2000.
Optional readings:
- Chaikin, G.M., "An Algorithm for High-Speed Curve Generation," Computer Graphics and Image Processing, 3(4):346-349, Dec. 1974.
- Riesenfeld, R.F., "On Chaikin's Algorithm," Computer Graphics and Image Processing, 4(3):304-310, Sept. 1975.
- Doo, D. and Sabin, M., "Behaviour of Recursive Division Surfaces near Extraordinary Points," Computer-Aided Design, 10(6):356-360, Nov. 1978.
- Catmull, E., A Subdivision Algorithm for Computer Display of Curved Surfaces, Tech. Report UTEC-CSc-74-133, University of Utah, 1974.
|
Fri 12/11
|
Skinning, quaternion, CSG, implicit surfaces, marching cube algorithm
Recommended reading:
Additional readings:
Optional reading:
|
Fri 12/11 LAB
|
Lab9: Subdivision Surfaces
|
Sat 12/12 12 noon
|
PA4 Due
|
|
|
Mon 12/14
|
Introduction to procedural
modeling and physically-based and behavioral animations (9 MB)
Recommended reading:
- TP3 Sections 3.9, 17.5, 17.6.
Demo:
Additional readings:
- Reeves, "Particle
Systems--A Technique for Modeling a Class of Fuzzy Objects," ACM Transaction on Graphics, 2(2):91-108, 1983.
- Reynolds, "Flocks,
Herds, and Schools: A Distributed Behavioral Model," Computer Graphics, 21(4):25-34, 1987.
- Kanyuk, "Brain
Springs: Fast Physics for Large Crowds in WALL*E," IEEE Computer Graphics and Applications, 29(4):19-25,
July/August 2009 (video clips accompanying paper).
Optional readings:
- Reeves, "Approximate
and probabilistic algorithms for shading and rendering structured particle systems," Computer Graphics, 19(3):313-322, 1985.
- Witkin and Baraff, "Differential Equation Basics," SIGGRAPH '97 Course Notes, 1997.
- Roble and Zafar, "Don't
Trust Your Eyes: Cutting-Edge Visual Effects," IEEE Computer, 42(7):35-41, July 2009 (video clips accompanying the paper).
- Witkin, "Particle System Dynamics,"
SIGGRAPH '97 Course Notes, 1997.
- Stam, "Real-Time
Fluid Dynamics for Games," Proc. of GDC '03.
|
Mon 12/14, 6-8 pm
|
Final Exam Review in 2150 DOW
|
|
|
Mon 12/21
|
Final Exam 10:30-12:30 in 2150 DOW
|