CSS 450: Computer Graphics
Fall 2016
Room UW1 221, TR 5:45pm-7:45pm
Computing and Software Systems
Name |
Office Hours: |
Thursday: 2:00-3:00
pm Or by appointment |
|
Phone |
(425)-352-5420 |
Office: |
UW1-260-O |
We will examine issues concerning the building of interactive applications including: approaches to working with graphical user interface (GUI) application programming interfaces (APIs), and relevant software patterns and architectures for building interactive systems. We will then examine approaches to integrate graphical APIs in building interactive graphical systems. We will review the mathematics related to the understanding of, and discuss the fundamental areas of, computer graphics including: geometric and coordinate transformations, hierarchical modeling, texture mapping, and, texture mapping, and, illumination. After this class, students are expected to understand the basics of interactive system design, computer graphics terminology, concepts, algorithms, and be able to design and implement interactive computer graphics related programs.
GOALS: The primary goal of this class is to ensure that, given typical GUI and graphics APIs, students will be able to design and implement interactive applications based on real life user requirements. Please do not confused by the technology we use to learn these concepts. All technologies are transient, fundamental concepts are the important learning objectives!
Prerequisites: CSS342 with a grade of C of better.
Programming Assignments (5 or 6) |
55% or 65% |
Weekly Written Assignments |
15% |
Final Project |
20% or 35% |
Required Text:
·
EIG:
Essentials of Interactive Computer Graphics, Kelvin Sung, Peter Shirley, Steven Baer,
Wellesley, MA., A K Peters Ltd, 2008.
·
BGE: Build your own 2D Game Engine and
Create Great Web Games, Sung, Pavleas, Arnez, Pace. Apress, Sep 2015.
Optional Reference Texts:
· Fundamentals of Computer Graphics, third edition, Peter Shirley and Steve Marschner, Wellesley, MA., A K Peters Ltd, 2009.
Week
|
Topics
|
Reading
|
Date
|
Note (dates subject to changes)
|
1 |
Introduction
Event Driven Programming and GUI |
BGE Chap 1 (on system
installation) EIG Chap 1 |
Sep 29 |
Assign: MP #1 |
2 |
MVVM with GUI Intro to Graphics API |
EIG Chap 2 to 2.3 BGE Chap 2 |
Oct 4, 6 |
Due: MP #1 Assign: MP #2 |
3 |
Graphics API with MVC |
BGE Chap 3 (to Page 6) EIG Chap 5, 6 |
Oct 11, 13 |
Due: MP #2 Assign: MP #3 |
4 |
Object-Oriented Programming |
EIG Chap 7, 8 |
Oct 18, 20 |
|
5 |
Transforming graphics objects Implementation: GLSL Shading Language |
EIG Chap 9 |
Oct 25, 27 |
Due: MP #3 Assign: MP #4 |
6 |
Coordinate Transformation Implementation: Matrix Stack |
EIG-Chap 10 BGE-Chap 3 |
Nov 1, 3 |
Assign: Final Project Due: MP4 Assign: MP5 |
7 |
Hierarchical Modeling |
EIG-Chap 11 |
Nov 8, 10 |
Due: MP #5 Assign: MP6 |
8 |
Texturing and Blending |
EIG-Chap 12 BGE-Chap 5 |
Nov 15, 17 |
Due: Final Project Proposal Assign: MP6 |
9 |
Illumination |
BGE-Chap 8 |
Nov 22, 24 |
|
10 |
Shadow In-class presentation |
BGE-Chap 8 |
Nov 29, Dec 1 |
Due: Final Project Prototype Demo |
11 |
Catch up |
Dec 6, 8 |
||
12 |
Final’s Week: Final Project Demo in class NOTE: this is different from what is published!! This is STEM’s final exam schedule! |
Starting at 5:45pm |
Dec 15 |
Due: Final Project |
Submitting Source Code: You will submit your source code of each programming assignment (or machine problem, or mp) and I (and/or the grader) will run/test your submissions. We will be using the catalyst facility (refer to the course web-site for submission link). There is a folder with the corresponding mp number (and/or with Part-1) on the submission site (e.g. mp1-Part1, mp1, mp2, etc.). Before the due time of the assignment, you should:
· Create a folder containing all the relevant source files of your mp and no more. Having extra useless/irrelevant files in that folder will result in lost credits.
· Use your first and last name and mp# as the name of your folder. Please do not include blank space as part of the name for this folder (i.e. do use “KelvinSungMp1” as folder name, and do not use “Kelvin Sung MP1” with blank spaces.)
·
Please zip up our folder into one zip file. Go to our course submission area and “turn
in” you .zip file.
·
Submit as many times as you wish, I will only
look at the last one received before the deadline. Please do not submit hard copies
of your program. Let’s safe some trees, I will look at your source code
electronically.
There is a “Test Turn-in” assignment for you to try things out. Please do try it before the first MP due date! If I do not see a test submission and you have trouble submitting your first assignment at the last minute, I will not help you. I can only help those who tried.
In addition, and very importantly, you should always download your submission, un-zip/compile/run to ensure your submission is correct. Remember, the grader (and/or I) will download your submission, unzip, open with NetBeans-setup (as discussed in class) and run. You will lose credits if anything in your submission should prevent us from automating this process.
You are responsible to ensure that the files you submitted are correct. On the due date of the mp, the corresponding directory will be close at precisely the due time. After which, you will not be able to submit your work! I will not accept submissions via emails. You are responsible to ensure that the files you submitted are correct. Minor submission mistakes (e.g. missed a small .js file) will result in 10% deduction from the assignment. Major submission mistakes (e.g. forgot to include a major source code file) will be treated as incomplete assignment and you will get 0% for the assignment. On a case-by-case basis, I will decide if a submission mistake is minor or major. There will be no exceptions!
If there is an emergency and/or personal difficulty, please talk to me in person. Remember to document your code, and practice the good programming skills you learned in CSS 342.
Assignment Deadlines: There will be no late assignments accepted. Let me put this in another way, there will be no late assignments accepted. These apply to both homework assignments and machine problems. Pay attention to the deadline on the assignments (including the time), there will be no late assignments accepted. Let me explain this again, there will be no late assignments accepted. I am actually a reasonable person, come talk to me about exceptional circumstances. You know the deadlines now please plan ahead.
Lateness to classes: It does not bother me, just don’t disturb anyone. If you want to leave early, it would be very nice if you could give me advance warning. If that’s too much trouble, or if you forgot, don’t worry, just don’t disturb anyone and leave quietly.
Commitments and such:
I am usually very easy going. I like relaxed classrooms for learning and will
try my best to create such an environment. Please do not confuse relax
environment with relax requirements. I work hard, and expect students to work
as hard. On average, each percentage of your assignments should represent
one-two hours of outside-of-class time. For example, if an MP worth 8%, then on
average, you will probably need about 10-15 hours to finish this assignment.
Please use this as a reference and let me know if you are spending too much
time on the assignments. If most of you are experiencing the same problem, then
we will have to adjust the amount of work. Please consider if you have the time
this quarter for this class. If you do have the time, please stay in this class, I will work hard and try
my best to make this class a worthwhile learning experience for you.
Group
Assignments: The final game is a group assignment. You must
form groups of four or more persons to work on the final project. No groups can
be less than three members.
If you have any problem with this course, please talk to me as soon as possible. I would like to help in any way I could, but I have to know there is a problem. If you fall behind in this class, it will be difficult to catch up.
Access and Accommodations: Your experience in this class is
important to me. If you have already established accommodations with Disability
Resources for Students (DRS), please communicate your approved accommodations
to me at your earliest convenience so we can discuss your needs in this course.
If you have not yet established services through DRS, but
have a temporary health condition or permanent disability that requires
accommodations (conditions include but not limited to; mental health,
attention-related, learning, vision, hearing, physical or health impacts), you
are welcome to contact DRS at 425-352-5307 or drs@uwb.edu. DRS offers resources
and coordinates reasonable accommodations for students with disabilities and/or
temporary health conditions. Reasonable accommodations are established through
an interactive process between you, your instructor(s), and DRS. It is the
policy and practice of the University of Washington to create inclusive and
accessible learning environments consistent with federal and state law.