CSS 451A/590B: 3D
Computer Graphics
Fall 2017
Room UW2 031, TuTh
5:45pm-7:50pm
Computing and Software Systems
Name
|
Office Hours: |
Thursday: 4:00-5:00 pm Or by appointment |
|
Phone Email
|
(425)-352-5420 |
Office: |
UW1-260 O |
Introduces
practical and popular three-dimensional (3-D) graphic algorithms. Examines modeling
(how to build 3-D objects), animation (how to describe the motion of objects),
and rendering (how to generate images of 3-D objects in animation).
Fall 2017: In
this class, we will learn about the essence of 3D interactive applications
including: user interface, virtual cameras and their manipulations, review of
basic applied linear algebra, mesh and related data structures, hardware
shading language, illumination model, texture mapping, and some foundational
modeling techniques like rotational sweeps. We will use Unity3D as the vehicle
for learning these concepts. After this class, students are expected to
understand the basic computer graphics terminology, concepts, algorithms, and
be able to design and implement 3D interactive computer graphics related
programs.
NOT GOALS: We are not
here to learn DirectX, OpenGL, XNA, GLUT, FLTK, MFC (Microsoft Foundation
Classes), WPF, Swing, WinForm, Java, C, C++, or Unity3D etc. These are all
transient technologies!
GOALS: The primary goal of this class is to ensure that,
given typical GUI and graphics
API, students will be able to design and implement interactive
applications based on real life user requirements.
Prerequisites: CSS342 with a grade of C of better; may not be
repeated.
Course Objectives:
The objectives of
this course are for students to:
•
Study the
Model-View-Controller (MVC) software architecture and its support for
implementing interactive graphical applications
•
Understand the
essential conceptual areas of 3D computer graphics: modeling, animation, and
rendering
o Modeling: Coordinate transformation pipeline,
basics of hierarchical modeling, mesh representation
o Animation: simple linear interpolation
o Rendering: illumination models
•
Learn the
programming model of modern 3D graphical Application Programming Interface
(API)
o Issues behind 3D API design
o Device initialization
o Vertex and Pixel shaders
•
Practice the
graphics concepts learned based on a graphical API
Course Learning Outcomes:
Upon successful completion
of the course, students shall be able to:
Grading:
Programming Assignments (6) |
65% |
Weekly Quiz + Classroom Participation |
15% |
Final Project |
20% |
CSS590: Final project in groups of two (or three):
propose/build an AR and VR collaborative application based on the Augmented
Space Library (ASL).
Required Text: we
don’t have one. We
will read different chapters from different books. I will post the reading
material on our course website based on chapters from the following textbooks:
Required
Readings:
A. Essentials of
Interactive Computer Graphics, Kelvin Sung, Peter Shirley, Steven Baer,
Wellesley, MA., A K Peters Ltd, 2008.
1. Chap 1, 2 to 2.3, 5 & 6: Event Programming +
GUI + MVC
2. Chap 8 & 9: Transformation and compositing
transforms
3. Chap 11: Hierarchical Modeling
4. Chap 12: Blending + Texturing
5. Chap 13: Simple 3D Scene Construction
6. Chap 14: 3D Viewing Volumes
7. Chap 15: Camera Manipulations
1. Chapter 2: Rendering
Pipeline
2. Chapter 3: GPU + Shader
C. Interactive Computer Graphics – A Top-Down
Approach With OpenGL, fourth edition, Edward Angel, Addison Wesley,
Boston, 2006.
1. Chapter 6:
Illumination and Lighting
D. Graphics Shaders: Theory and Practice, Mike Bailey and Steve
Cunningham, AK Peters, 2009.
1. Chapter 1 and 2: GPU + Rendering Pipeline
E. 3D Math Primer
for Graphics and Game Development, Fletcher Dunn, and Ian Parberry, Wordware
Publishing, Inc., 2002.
1. Chapter 4 and 5: Vector Math
F. More will probably follow
General
References:
·
Fundamentals of Computer Graphics, Forth edition, Steve Marschner and Peter Shirley,
CRC Press, 2016.
·
Interactive
Computer Graphics – A Top-Down
Approach with WebGL, 7th
edition, Edward Angel and Dave Shreiner, Addison Wesley, Boston, 2015.
Schedule:
Week
|
Topics
|
Reading
|
Date
|
Note
(Subject to change)!!
|
1 |
Intro and GUI |
A1 |
Sep 28 |
Assign: MP #1 (Warm up +
Button) |
2 |
MVC Framework and Relationship to the ECS
of Unity3D Math for 3D Graphics |
A5, E + Online |
Oct 2, 5 |
Due: MP #1 Assign: MP #2 (MVC + GUI) |
3 |
Viewing Volume + Virtual Camera + Camera
Manipulation |
A6, A7 |
Oct 10, 12 |
Due: MP #2 Assign: MP #3 (Math + Camera Manipulation) |
4 |
Shading Architecture + HLSL Graphics Pipeline + World Matrix + View
Matrix |
B, D |
Oct 17, 19 |
|
5 |
Pivoted Transformation + Rotation in 3D Hierarchical Modeling |
A2, A3 |
Oct 24, 26 |
Due: MP #3 Assign: MP #4 (Pivoted xform + Camera
Visualization) |
6 |
Modeling: Index Primitives + Rotation
Sweep |
Oct 31 |
||
7 |
Modeling Continue + Catch up |
Nov 7, 9 |
Due: MP #4 Assign: Final Project Assign: MP #5 (Rotational Sweep) |
|
8 |
Final Project Proposal Presentation Illumination Model |
C |
Nov 14, 16 |
Due: Final Project Proposal |
9 |
Kelvin to Visit ASUS Lab, Guest Lecture
Brian Zhou, Invite Bill Erdly Thanksgiving Day: No Class |
Nov 21, 23 |
Due: MP #5 Assign: MP #6 (Texture placement + Shaders) |
|
10 |
Texture Mapping: Placement + Filtering Final Project Progress Demo |
A4 |
Nov 28, 30 |
Due: Final Project Progress
Demo |
11 |
Shader Effects: Reflection + Shadow |
Online references |
Dec 5, 7 |
Due: MP #6 |
12 |
Final’s Week: Final Project due |
|
Dec 12 |
Due: Final Project |
Submitting Programming Assignments (MPs):
Submitting Source Code: You will submit your source code of each
programming assignment (or machine problem, or mp) and 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 on the submission site (e.g. mp1,
mp2, etc.). Before the due time of the assignment, you should:
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 will download your submission, unzip,
double-click on the .exe file to run. If the grader cannot download, double
click and run your program, you will receive a zero. You have been warned.
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!
We 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 file) will result in significant 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.
General Policies:
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 project is a group assignment. You
must form groups of two (or three if there is a left over person)
to work on the final project. No groups can be less than two 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.
If you believe that you have a disability and would
like academic accommodations, please contact Disability Resources for Students
(UW1-175) at 425.352.5307 or at drs@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.
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 Disability Resources for Students
(UW1-175) at 425.352.5307 or at 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.
For Our Veterans: If you are a student who has served in our nation’s military forces, welcome home, and thank you for
your service. I hope that you feel comfortable enough to confidentially
self-identify yourself to me so I can help you make a successful transition
from the military to higher education.
Academic
Conduct
Student Code of Conduct: http://apps.leg.wa.gov/WAC/default.aspx?cite=478-120:
“The university is a public institution having
special responsibility for providing instruction in higher education, for
advancing knowledge through scholarship and research, and for providing related
services to the community. As a center of learning, the university also has the
obligation to maintain conditions conducive to freedom of inquiry and
expression to the maximum degree compatible with the orderly conduct of its
functions. For these purposes, the university is governed by the rules,
regulations, procedures, policies, and standards of conduct that safeguard its
functions and protect the rights and freedoms of all members of the academic
community.”
…
“An instructor has
the authority to exclude a student
from any class session in which the student is disorderly or
disruptive. If the student persists in the disorderly or disruptive conduct,
the instructor should report the matter to the dean of the school or college,
or, at the University of Washington Bothell and Tacoma campuses, to the dean or
director of the program in which the student is enrolled.”
Academic
Integrity and Plagiarism: See http://www.uwb.edu/studentservices/academicconduct
for
crucial information regarding academic integrity. The library also has an
extremely useful website with resources at http://libguides.uwb.edu/ai. You are responsible for knowing what constitutes a
violation of the University of Washington Student Code, and you will be held
responsible for any such violations whether they were intentional or not.
Plagiarism is one of the most common violations of academic integrity, so
please pay attention to both the web information and when your instructor
explains all of this in class. In short, do your own work, and clearly
cite all your sources. If you are unsure, ask for help!
Privacy: The opinion you expressed (in class discussion, in
written assignments, on our course discussion board), are yours. None of this
information will be shared with anyone, not even your parents.
Other potentially
useful/important information
Inclement Weather:
Please
check if the campus may be closed due to weather. Information about
suspension
of operations will be made public and available through the media. Students can
learn of campus operations status from the website or by calling the Campus
Information Hotline 425.352.3333. You may also sign up with an alert system
that will contact you via email or text message if classes are canceled. For
more information on the alert process, please see http://www.uwb.edu/alert. Class activities will be rescheduled as needed.
Student Support Services:
IT Helpdesk: IT@uwb.edu , 425-352-3456
Library: http://library.uwb.edu/ 425-352-5340
Writing Center: www.uwb.edu/WritingCenter/
425-352-5253
Quantitative
Skills Center: http://www.uwb.edu/qsc 425-352-3170
Student Success
Services: http://www.uwb.edu/cusp/studentsuccess
425-352-3776
Career
Services: http://www.uwb.edu/careers 425-352-3706
Student
Counseling Services: http://www.uwb.edu/studentservices/counseling 425-352-3183