CSS 451: 3D Computer Graphics
Winter 2009
Room UW1-020,
T/TR 5:45pm-7:50pm
Computing and Software Systems
Name
Email |
Office Hours: |
T 3:00-4:30 pm Or by appointment |
|
Phone |
(425)-352-5420 (phone for appointments only
please) |
Office: |
UW1-339 |
In this course, we will learn some of the practical and popular three dimensional (3D) graphics algorithms. The foundation mathematics required will be studied. Three major aspects of 3D graphics will be studied. 1. Modeling: how to describe or build three-dimensional objects.2. Animation: how to describe the motion and interaction of the modeled 3D objects. 3. Rendering: how to generate images of the modeled 3D object in animation.
This quarter we will concentrate on studying rendering effects that can be achieved in real time on mid-range to low-end machines. For example, we will study how to take advantage of modern graphics hardware in generating: transparency, reflection, shadow, etc. in real time. Due to the recent hardware technology advances, ray tracing is becoming popular again. If there’s time, we will learn about Ray Tracing.
Prerequisites: CSS 450 or equivalent.
Programming Assignments (4) |
~45-55% |
Weekly short quizzes |
~20% |
Final Project |
30% |
In class participation |
~5% |
Required
Text:
Recommended
Reference Texts:
Other
Reference Texts:
Week
|
Topics
|
|
Date
|
Note: |
1 |
Intro + Review D3D/MFC Mathematics for Graphics |
Chap 13 Appendix A |
Jan 6, 8 |
Assign: MP #1 |
2 |
3D Viewing and Camera |
Chap 14 + 15 |
Jan 13, 15 |
Assign: Final Project |
3 |
Transformation and Scene Nodes in 3D |
Chap 16 |
Jan 20, 22 |
Due: MP
#1 Assign: MP
#2 |
4 |
Ray Tracing Framework |
Handout |
Jan 27, 29 |
Due: final project proposal |
5 |
Illumination Equation Invited Workshop in
Mexico (no class) |
Appendix B |
Feb 3, 5 |
Due: MP #2 Assign: MP #3 |
6 |
The Rendering Pipeline |
Handout |
Feb 10, 12 |
|
7 |
Fragment and Pixel Shading |
Handout |
Feb 17, 19 |
Due: MP #3 |
8 |
Effects: Fog, Reflection, Shadows |
Handout |
Feb 24, 26 |
Due: Final project concept demo |
9 |
Hardware Buffers: Stencil/Blending SIGCSE Conference: (no class) |
Handout |
Mar 3, 5 |
|
10 |
Polygonal Modeling + Mesh |
Handout |
Mar 10, 12 |
Due: Final project progress demo |
11 |
Final’s Week: Project Demo & Presentation |
Mar 17 |
Due: Final Project in class |
Submitting
Programming Assignments (MPs):
Submitting Source Code: You will submit your source code of each programming assignment (or machine problem, or mp) and I will run/test your submissions. We will be using the same catalyst facility as CSS450 (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 results in lost credits. Please
clean up both Debug and Release
folders before you copy your files
over. These folders can be huge and
will take up unnecessary time/space. WARNING: 3% of each mp’s grade will
be deducted if your submission includes the contents of Debug or Release
folders, or any useless files (e.g., .suo, .ncb, etc.) 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 “
*** Send yourself a digital receipt just in case something should go wrong. ***
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, double-click on the .sln file to compile 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 .h file) will result in 10% deduction from the assignment. Major submission mistakes (e.g. forgot to include a major .cpp file) will be treated as in-complete 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 343.
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. On the days the homework assignments are due, the due time will be 10 minutes after class time. So you may wish to make sure you are not more than 10 minutes late for those classes. 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 very 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 seriously 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 very hard and
try my best to make this class a worthwhile learning experience for you.
Group Assignments: All assignments
are group assignments. You
are encouraged to form groups of 2 persons to work on these assignments. Please
talk to me if you wish to form a 3-member-group and you will be responsible for
proposing the extra features to justify the third member. If you choose to work
alone, you will receive extra credits.
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.
Special Needs
If you believe that you have a disability
and would like academic accommodations, please contact Disability Support
Services at 425.352.5307 or at rlundborg@uwb.edu. In most cases, you will
need to provide documentation of your disability as part of the review process.
I will coordinate with the University to ensure that the appropriate
accommodations are made in this class.