Instructor: | Robert Bruce |
Office Location: | Duncan Hall, DH-282 |
Telephone: | (707) 483-9340 |
Email: | Robert.Bruce@sjsu.edu |
Office Hours: | Mondays and Wednesdays 8pm-9pm, or by appointment |
Class Days/Time: | Monday and Wednesday, 3PM-4:15PM |
Classroom: | Science, SCI-311 |
Prerequisites: | CS 116A (with a grade of "C-" or better in each) or instructor consent. |
In-depth discussion of algorithms and techniques used in computer graphics and their implementation. Topics include: animation, fractals, anti-aliasing, fill algorithms, visible surface algorithms, color and shading, ray tracing, radiosity and texture maps. Substantial programming required.
Upon successful completion of this course, students will be able to:
Physics for game developers (2nd Edition) by David M. Bourg and Bryan Bywalec. This book is available electronically from the SJSU King Library at http://discover.sjlibrary.org/iii/encore_sjsu/record/C__Rb5239694. A copy of this book is available on course reserves for two-hour checkout from the SJSU King Library. Please visit the King library circulation desk to check out this book.
Computer Graphics with OpenGL (4th Edition) by Donald Hearn, M. Pauline Baker, and Warren R. Carithers. ISBN 0-13-605358-0. A copy of this book is available on course reserves for two-hour checkout from the SJSU King Library. Please visit the King library circulation desk to check out this book.
Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior by Xavier Provot. This electronic article is available from the Stanford university website at https://graphics.stanford.edu/courses/cs468-02-winter/Papers/Rigidcloth.pdf
Advanced Character Physics by Thomas Jakobsen. This electronic article is available from the Penn State university website at http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.206.4908&rep=rep1&type=pdf
Real time physics class notes by Matthias Müller, Jos Stam, Doug James, and Nils Thürey. This electronic document is available from author's website at http://matthias-mueller-fischer.ch/realtimephysics/coursenotes.pdf
Mass Spring Particle Systems by Stephen Spinks. This electronic document is available from the author's website at http://www.stephenspinks.com/documents/documentation.pdf
Marching cubes: A high resolution 3D surface construction algorithm by William E. Lorensen and Harvey E. Cline. This electronic article is available electronically through the ACM Digital library at https://login.libaccess.sjlibrary.org/login?qurl=http%3a%2f%2fdx.doi.org%2f10.1145%2f37401.37422%3fnosfx%3dy
You will be provided with a 120GB solid state drive with a USB3.1 interface. This is a blank drive. I will provide you with a USB flash drive to install Linux Mint on your computer using the 120GB solid state drive as a target drive. This course has no service-learning components.
SJSU classes are designed such that in order to be successful, it is expected that students will spend a minimum of forty-five hours for each unit of credit (normally three hours per unit per week), including preparing for class, participating in course activities, completing assignments, and so on. More details about student workload can be found in University Policy S12-3 at http://www.sjsu.edu/senate/docs/S12-3.pdf.
There are five programming assignments in this course. The programming assignments are designed as building blocks which lead to a culminating final project: a particle-based soft-body simulation system. Detailed instructions and specifications for each programming assignment will be posted to my SJSU faculty webpages at http://www.cs.sjsu.edu/~bruce/ with adequate time for students to complete each assignment by the assignment deadline. Students are strongly encouraged to ask the instructor for clarification on each programming assignment specification.
Note that University policy F69-24 at http://www.sjsu.edu/senate/docs/F69-24.pdf states that "Students should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Attendance per se shall not be used as a criterion for grading."
Points will be deducted for incomplete or partially working solutions.
Programming assignments submitted after their specified due date will be considered late and subject to minimally 50% loss in points (additional points will be deducted for incomplete projects as noted above).
Exams must be your own work. Makeup exams will only be given in extraordinary circumstances with instructor approval; instructor MUST be notified in advance.
Assignment or Exam | Point value |
---|---|
Programming Project 1: Marching Squares | 10 points |
Programming Project 2: Particle explosion simulation | 10 points |
Programming Project 3: Rope simulation with gravity and collision detection | 10 points |
Programming Project 4: Cloth simulation with gravity | 15 points |
Programming Project 5: Cloth simulation with gravity, wind, and collision detection | 25 points |
Midterm Exam | 15 points |
Final Exam | 15 points |
TOTAL: 100 possible points
Percent range | Grade |
---|---|
97% to 100% inclusive | A+ |
93% to 96% inclusive | A |
90% to 92% inclusive | A- |
87% to 89% inclusive | B+ |
83% to 86% inclusive | B |
80% to 82% inclusive | B- |
77% to 79% inclusive | C+ |
73% to 76% inclusive | C |
70% to 72% inclusive | C- |
67% to 69% inclusive | D+ |
63% to 66% inclusive | D |
60% to 62% inclusive | D- |
Below 60% | F |
Note that "All students have the right, within a reasonable time, to know their academic scores, to review their grade-dependent work, and to be provided with explanations for the determination of their course grades." See University Policy F13-1 at http://www.sjsu.edu/senate/docs/F13-1.pdf for more details.
Regular class attendance is highly recommended. Students are responsible for knowing all materials covered through in-class lectures and assigned readings. Please be mindful of fellow students and the instructor by not talking on mobile phones during instruction. Students are expected to leave the class quietly in the event they must use their mobile phones.
Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs' Syllabus Information web page at http://www.sjsu.edu/gup/syllabusinfo/
Week | Date | Topics, Readings, Assignments, Deadlines |
---|---|---|
1 | Monday, January 30 |
Introduction: Course overview and objectives |
1 | Wednesday, February 1 |
Lecture: Marching cubes algorithm Read: Marching cubes: A high resolution 3D surface construction algorithm, pp. 163-169 |
2 | Monday, February 6 |
Lecture: Marching squares algorithm |
2 | Wednesday, February 8 |
Lecture: Building a Physics Engine Read: Physics for game developers, pp. 281-289 |
3 | Monday, February 13 |
Lecture: Vector operations Read: Physics for game developers, pp. 495-505 |
3 | Wednesday, February 15 |
Lecture: A review of classical mechanics in physics Physics for game developers, pp. 3-33 |
4 | Monday, February 20 |
Lecture: Kinematics Read: Physics for game developers, pp. 35-69 DUE: Programming Project 1 |
4 | Wednesday, February 22 |
Lecture: Force Read: Physics for game developers, pp. 71-83 |
5 | Monday, February 27 |
Lecture: Real-time simulations Read: Physics for game developers, pp. 143-159 |
5 | Wednesday, March 1 |
Lecture: Particles Read: Physics for game developers, pp. 161-187 |
6 | Monday, March 6 |
Lecture: Explosions Read: Physics for game developers, pp. 353-368 |
6 | Wednesday, March 8 |
Lecture: Connecting objects Read: Physics for game developers, pp. 255-279 |
7 | Monday, March 13 |
Lecture: Mass Spring Model Read: Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior, pp. 1-8 |
7 | Wednesday, March 15 |
Lecture: Runge-Kutta Integration Read: Advanced Character Physics, pp. 1-19 |
8 | Monday, March 20 |
Lecture: Verlet integration simulation DUE: Programming Project 2 |
8 | Wednesday, March 22 |
MIDTERM EXAM |
Monday, March 27 |
SPRING BREAK: NO CLASS TODAY | |
Wednesday, March 29 |
SPRING BREAK: NO CLASS TODAY | |
9 | Monday, April 3 |
Lecture: Newton-Raphson Solver |
9 | Wednesday, April 5 |
Lecture: Collision detection Read: Physics for game developers, pp. 205-225 |
10 | Monday, April 10 |
Lecture: Rigid body simulation Read: Real Time Physics Class Notes, pp. 45-52 |
10 | Wednesday, April 12 |
Lecture: Volumetric mesh creation using Delaunay tetrahedralization Read: Real Time Physics Class Notes, Section 3.6 (pp. 17-18) DUE: Programming Project 3 |
11 | Monday, April 17 |
Lecture topic: To Be Determined |
11 | Wednesday, April 19 |
Lecture topic: To Be Determined |
12 | Monday, April 24 |
Lecture topic: To Be Determined |
12 | Wednesday, April 26 |
Lecture topic: To Be Determined |
13 | Monday, May 1 |
Lecture topic: To Be Determined DUE: Programming Project 4 |
13 | Wednesday, May 3 |
Lecture topic: To Be Determined |
14 | Monday, May 8 |
Lecture topic: To Be Determined |
14 | Wednesday, May 10 |
Lecture topic: To Be Determined |
15 | Monday, May 15 |
Final Exam Review |
FINAL EXAM | Wednesday May 24 |
FINAL EXAM at 12:15PM in SCI-311 DUE: Programming Project 5 |
Spring 2017, CS-116B:
Greensheet
Lectures:
Assignments: