Instructor: | Robert Bruce |
Office Location: | Duncan Hall, DH-282 |
Telephone: | |
Email: | |
Office Hours: | Mondays and Wednesdays 3pm-4pm, or by appointment |
Class Days/Time: | Monday and Wednesday, 6pm-7:15pm |
Classroom: | Duncan Hall, DH-450 |
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:
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.
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.
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 drive has been pre-configured with Linux Mint in a graphical X-windows environment along with a host of GNU development and programming utilities. Java users will need to install JogAmp at http://jogamp.org/ to use OpenGL libraries with Java. You are expected to use this drive during lab times. 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 |
---|---|
Assignment 1: Marching Cubes | 10 points |
Assignment 2: Particle explosion simulation | 10 points |
Assignment 3: Rope simulation with gravity and collision detection | 10 points |
Assignment 4: Cloth simulation with gravity | 15 points |
Final assignment: 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.
As members of the academic community, students accept both the rights and responsibilities incumbent upon all members of the institution. Students are encouraged to familiarize themselves with SJSU's policies and practices pertaining to the procedures to follow if and when questions or concerns about a class arises. See University Policy S90-5 at http://www.sjsu.edu/senate/docs/S90-5.pdf. More detailed information on a variety of related topics is available in the SJSU catalog, at http://info.sjsu.edu/web-dbgen/narr/catalog/rec-12234.12506.html. In general, it is recommended that students begin by seeking clarification or discussing concerns with their instructor. If such conversation is not possible, or if it does not serve to address the issue, it is recommended that the student contact the Department Chair as a next step.
Students are responsible for understanding the policies and procedures about add/drop, grade forgiveness, etc. Refer to the current semester's Catalog Policies section at http://info.sjsu.edu/static/catalog/policies.html. Add/drop deadlines can be found on the current academic year calendars document on the Academic Calendars webpage at http://www.sjsu.edu/provost/services/academic_calendars/. The Late Drop Policy is available at http://www.sjsu.edu/aars/policies/latedrops/policy/. Students should be aware of the current deadlines and penalties for dropping classes.
Information about the latest changes and news is available at the Advising Hub at http://www.sjsu.edu/advising/.
University Policy S12-7, http://www.sjsu.edu/senate/docs/S12-7.pdf, requires students to obtain instructor's permission to record the course and the following items to be included in the syllabus:
"Common courtesy and professional behavior dictate that you notify someone when you are recording him/her. You must obtain the instructor's permission to make audio or video recordings in this class. Such permission allows the recordings to be used for your private, study purposes only. The recordings are the intellectual property of the instructor; you have not been given any rights to reproduce or distribute the material."
It is suggested that the greensheet include the instructor's process for granting permission, whether in writing or orally and whether for the whole semester or on a class by class basis.
In classes where active participation of students or guests may be on the recording, permission of those students or guests should be obtained as well.
"Course material developed by the instructor is the intellectual property of the instructor and cannot be shared publicly without his/her approval. You may not publicly share or upload instructor generated material for this course such as exam questions, lecture notes, or homework solutions without instructor consent."
Your commitment, as a student, to learning is evidenced by your enrollment at San Jose State University. The University Academic Integrity Policy S07-2 at http://www.sjsu.edu/senate/docs/S07-2.pdf requires you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Student Conduct and Ethical Development. The Student Conduct and Ethical Development website is available at http://www.sjsu.edu/studentconduct/.
If you need course adaptations or accommodations because of a disability, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with your instructor as soon as possible, or see the instructor during office hours. Presidential Directive 97-03 at http://www.sjsu.edu/president/docs/directives/PD_1997-03.pdf requires that students with disabilities requesting accommodations must register with the Accessible Education Center (AEC) at http://www.sjsu.edu/aec to establish a record of their disability.
Week | Date | Topics, Readings, Assignments, Deadlines |
---|---|---|
1 | Monday, February 1 |
Lecture: A review of classical mechanics in physics Read: Chapter 1 (pp. 3-33) of Physics for game developers |
1 | Wednesday, February 3 |
Lecture: Marching cubes algorithm Read: Marching cubes: A high resolution 3D surface construction algorithm (pp. 163-169) |
2 | Monday, February 8 |
Lecture: Kinematics Read: Physics for game developers (pp. 35-69) |
2 | Wednesday, February 10 |
Lab: no lecture today Readings: none |
3 | Monday, February 15 |
Lab: no lecture today Readings: none |
3 | Wednesday, February 17 |
Lab: no lecture today Readings: none |
4 | Monday, February 22 |
Lecture: Particle systems Read: Advanced Character Physics (pp. 1-19) DUE: Assignment 1 (marching cubes) |
4 | Wednesday, February 24 |
Lab: no lecture today Read: Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior (pp. 1-8) |
5 | Monday, February 29 |
Lab: no lecture today Read: Mass Spring Particle Systems (pp. 1-73) |
5 | Wednesday, March 2 |
Lab: no lecture today Read: Real time physics class notes (pp. 10-20) |
6 | Monday, March 7 |
Lecture: Simulating rope with gravity and collision detection Read: Physics for game developers (pp. 255-279) DUE: Assignment 2 (particle explosion simulation) |
6 | Wednesday, March 9 |
Lab: no lecture today Readings: none |
7 | Monday, March 14 |
Lab: no lecture today Readings: none |
7 | Wednesday, March 16 |
Lab: no lecture today Readings: none |
8 | Monday, March 21 |
Midterm exam review Readings: none Note: unused remaining class time will be devoted to lab programming DUE: Assignment 3 (rope simulation with gravity and collision detection) |
8 | Wednesday, March 23 |
MIDTERM EXAM |
Monday, March 28 |
SPRING RECESS (no class meeting) | |
Wednesday, March 30 |
SPRING RECESS (no class meeting) | |
9 | Monday, April 4 |
Lecture: Simulating cloth with gravity Readings: none |
9 | Wednesday, April 6 |
Lab: no lecture today Readings: none |
10 | Monday, April 11 |
Lab: no lecture today Readings: none |
10 | Wednesday, April 13 |
Lab: no lecture today Readings: none |
11 | Monday, April 18 |
Lecture: Simulating cloth with gravity and wind Readings: none |
11 | Wednesday, April 20 |
Lab: no lecture today Readings: none |
12 | Monday, April 25 |
Lab: no lecture today Readings: none DUE: Assignment 4 (cloth simulation with gravity) |
12 | Wednesday, April 27 |
Lab: no lecture today Readings: none |
13 | Monday, May 2 |
Lecture: Simulating cloth with gravity and collision detection Readings: none |
13 | Wednesday, May 4 |
Lab: no lecture today Readings: none |
14 | Monday, May 9 |
Lab: no lecture today Readings: none |
14 | Wednesday, May 11 |
Lab: no lecture today Readings: none |
15 | Monday, May 16 |
Final Exam Review Note: unused remaining class time will be devoted to lab programming DUE: Final assignment (cloth simulation with gravity, wind, and collision detection) |
FINAL EXAM | Wednesday, May 18 |
FINAL EXAM at 5:15PM |
Spring 2016, CS-116B:
Greensheet
Lectures:
Assignments: