Welcome to CS40: Computer Graphics. This course focuses on the creation and manipulation of 3D geometric models and the rendering of these models on a two dimensional screen. We will examine modeling from both a pixel-based view and a more geometric vector-based approach. Core topics include geometric primitives, 2D and 3D matrix transformations, projective geometry, and object modelling. We also examine the rendering pipeline and algorithms that improve performance including clipping and hidden surface removal and depth buffers. Intermediate topics include texture mapping, lighting, and shadows. We will be using the modern OpenGL programming approach which uses programmable vertex and fragment shaders throughout the course. Advanced topics may including grammar based models, isosurface extraction, and GPGPU computing using CUDA.
|WEEK||DATE||ANNOUNCEMENTS||TOPIC & READING||LAB|
|1||Jan 21||Intro to Graphics,
Project 1: Pix Buffer
|Feb 01||Drop/Add ends|
|3||Feb 04||Vector and Matrix operations||InClass: Geometry
Project 2: Basic Shapes
|4||Feb 11||3D Transforms||InClass: Frames/Events
Project 3: Interactive Easy CAD
|5||Feb 18||projections, LookAt, Texture mapping
Project 4: Planets
|6||Feb 25||smooth rotations, camera class, perspective projections||Project 5: Camera motion|
|7||Mar 04||Phong Lighting model, normals||Midterm: Ray Tracing|
|8||Mar 18||Bump mapping, Procedural noise||InClass: Bump mapping|
|9||Mar 25||Grammar based Methods||InClass: Grammars
Project 7: Plants
|Mar 29||Last day to declare CR/NC
or withdraw with a "W"
|10||Apr 01||Particle Systems||
|11||Apr 08||CUDA Intro, memory/kernels||
|12||Apr 15||CUDA Synchronization, parallel patterns||Project 8: CUDA Performance|
|13||Apr 22||CUDA Applications, OpenGL Interopability||
|14||Apr 29||Marching Squares, Voronoi Decomposition, Wrapup||
|50% Lab assignments|
|10% Class participation|
Use late days wisely; once you have used up your late days, I reserve the right to not accept any further late assignments from you, and if I do accept further late assignments from you, you will receive a significant late penalty on them. I strongly recommend that you do not use any late days on the first few assignments.
If you believe that you need accommodations for a disability, please contact Leslie Hempling in the Office of Student Disability Services (Parrish 130) or email email@example.com to arrange an appointment to discuss your needs. Leslie Hempling is responsible for reviewing and approving disability-related accommodation requests. As appropriate, she will issue students with documented disabilities an Accommodation Authorization Letter. Since accommodations require early planning and are not retroactive, please contact her as soon as possible. You are also welcome to contact me privately to discuss your academic needs. However, all disability-related accommodations must be arranged through Leslie Hempling in the Office of Student Disability Services.
Academic honesty is required in all work you submit to be graded. You may not submit work done with (or by) someone else. You may not examine or use work done by others to complete your own work. You may discuss assignment specifications and requirements with others in the class to be sure you understand the problem. In addition, you are allowed to work with others to help learn the course material. However, with the exception of the student mentors and your partner on group assignments, you may not work with others on your assignments.
All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with an partner. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.
"It is the opinion of the faculty that for an intentional first offense, failure in the course normally is appropriate. Suspension for a semester or deprivation of the degree in that year may also be appropriate when warranted by the seriousness of the offense." - Student Handbook (2010-2011, pg36 Section A.4.b.i)
Please see me if there are any questions about what is permissible.