Computer Graphics Programming I


Table of Contents
Course Description
Extended Course Description
Prerequisite
Texts
Required Materials
Grading
AiPD Policies
Course Calendar


Course Description

VGP351A

Fall 2012, 3 credits

Wednesday, 6:00PM - 9:45PM

Room #214

Programming 2D and 3D computer graphics using OpenGL.


Extended Course Description

In this course students will be introduced to principles of 3D computer graphics using the OpenGL programming interface. Students will learn fundamental concepts of transformation, lighting, and texturing.

By the end of the course, students will be able to:

The complete, up to date, course syllabus is also available on-line at the course website. The syllabus is available as both HTML and PDF.


Prerequisite

This course is both programming and math intensive. Some background in C or C++ programming is required. Familiarity with object oriented programming principles will be very helpful but is not strictly required.

MTH330 (Linear Algebra & Geometry) is required. Matrix math and trigonometry will be extremely important in the entire VGP350 sequence. Particularly tenacious students may be able to learn the required math during the term, but it will be a lot of extra work.


Texts

There is no required text for VGP351. However, the following text will be required in VGP352/VGP352 and may be useful this term as well:

Akenine-Moeller, Tomas and Haines, Eric and Hoffman, Mathaniel. Real-Time Rendering (3rd Ed.), AK Peters, Ltd., 2008. ISBN 978-1-56881-424-7.

There will be suggested readings from this book each week. Equivalent readings from the second edition will also be listed.

The book also has a website that includes numerous additional references and sample code.

The following OpenGL reference books may prove to be very useful.

Rost, Randi J.; Licea-Kane, Bill; Ginsburg, Dan; Kessenich, John; Lichtenbelt, Barthold; Malan, Hugh; and Weiblen, Mike. OpenGL Shading Language (3rd. Ed.), Addison-Wesley Professional, July 20, 2009. ISBN 0-321637-631.

Wright, Richard S.; Haemel, Nicholas; Sellers, Graham; and Lipchak, Benjamin. OpenGL SuperBible: Comprehensive Tutorial and Reference (5th Ed.), Addison-Wesley Professional, June 2010. ISBN 0-321712-617.

OpenGL Superbible has a website, that includes source code and pre-built binaries. Earlier editions of this book are not suitable for this course because they do not cover the OpenGL shading language.

OpenGL Shading Language also has a website, that includes example shaders and some references. Earlier editions of this book should also be sufficient for this course.


Required Materials

In addition to paper and writing utensils, each student will need a removable storage device. It is strongly advisable to take notes during class. Most of the class will be on the whiteboard, and slideware will typically not be available.

The storage device will be used to both bring documents and sample code home from class and bring homework completed assignments to class. The storage requirements should be minimal, so a small USB flash-drive (256MB) should be sufficient. Bring it with you every class.


Grading

Each student's grade in this course will be primarily based on a total of eight single-week programming assignments. The remainder of the student's grade will be based on bi-weekly quizes and a final exam.

Programming assignments will be graded first and foremost on whether or not correct output is produced. The remaining points are based on the style of the program. This includes, but is not limited to, algorithm selection, code formatting, and naming conventions. A detailed rubric will be provided with each assignment.

Programming Assignments 
Five graded programming assignments75 pts.
Subtotal75 pts. (52%)
Tests 
In-class quizzes20 pts.
Final Exam50 pts.
Subtotal70 pts. (48%)
Total150 pts. (100%)

Some assignments may carry extra-credit opportunities, but they will be infrequent.


Grading Scale

A=93% and above
A-=90%-92%
B+=87%-89%
B=83%-86%
B-=80%-82%
C+=77%-79%
C=73%-76%
C-=70%-72%
D+=67%-69%
D=60%-66%


Late Work

I do not accept late work. If you miss a deadline, you will not earn the points for that activity. There are no make-up opportunities. If you are unable to attend class on the due date for a assignment, please submit it by e-mail before class.


Attendance and Participation

If you are not in class for an in-class exercise, you cannot earn those points. If you miss an entire class, you are responsible for obtaining copies of handouts and other classroom materials from your classmates.


AiPD Policies

Lab Policies

Leave food and drink outside the class. Disciplinary action will be taken toward any student found using the equipment in an inappropriate manner, taking cell phone calls or surfing the web. Disruptive, disrespectful or rude behavior will not be tolerated.


Plagiarism

Presenting the writings, images or paraphrased ideas of another as one's own, is strictly prohibited at the Art Institute of Portland. Properly documented excerpts from other's works, when they are limited to an appropriate amount of the total length of a student's paper, are permissible when used to support a researched argument.


ADA Statement

It is AiPD policy not to discriminate against qualified students with a documented disability in its educational programs, activities or services. If you have a disability-related need for adjustments or other accommodations in this class, contact Student Support and Disabilities Coordinator, Daynia Flynn at ext. 4836


Attendance Policy for the Art Institute of Portland

Students who are absent from all scheduled classes over a 14-day period (2 weeks) are subject to automatic attendance suspension - from the Institute, not just from this course. This means the student is administratively withdrawn from all courses and cannot attend classes or continue in the current quarter unless he/she successfully appeals for reinstatement. Students who anticipate violating the attendance policy should contact their Academic Advisor or Academic Department Director immediately to discuss options such as withdrawing from the Institute or navigating the appeals process.


Absences Policy

Regular attendance is required for successful completion of this course. A student who misses the equivalent of three (3) classes will not pass this class. Exceptions for extenuating circumstances will be considered at the discretion of the instructor.


Adding, Dropping and Withdrawing From Courses

Schedule Adjustment period: The schedule adjustment period runs through the first week of the quarter (ending at 5 pm on Monday of Week 2). To add or drop a course, the student must complete a schedule adjustment form, available from the Registrar's Office. The signature of the student's academic advisor is required to make any changes to the student's schedule.

Withdrawal (W/WF): The student who withdraws from a course or from the program during the first nine weeks of the quarter will be assigned a "W" code for each course. The "W" code is not used in computation of the student's grade point average; however, "W" credits are counted toward total credits attempted. The student who withdraws from a course or from the program after the ninth week of the quarter will be assigned a "WF" code for each course. The "WF" code is the equivalent of a grade of "F" and is used in computing the student's grade point average. Students wishing to withdraw from The Art Institute of Portland must file an official status change form with the Registrar.


Tutoring

One-on-one tutoring is available to you across all subjects through the Tutoring Center at no extra cost. The goal of tutoring is to help you learn and master skills so you can then confidently apply them on your own. Tutoring is helpful for students at all levels. Our tutors are faculty or, most often, fellow students who have excelled in the subject. You may find a tutor by visiting aidepartments.com or dropping by the Tutoring Center in Room 328 inside the Education Department. You may also contact Kathleen O'Brien .


Student Assistance Program

The college provides confidential short-term counseling, crisis intervention, and community referral services through the Wellness Corporation Student Assistance Program (SAP) for a wide range of concerns, including relationship issues, family problems, loneliness, depression, and alcohol or drug abuse. Services are FREE and available 24 hours a day, 7 days a week, at 1.800.326.6142. If you have any further questions or are ever in need of immediate on-campus assistance, please stop by the Student Services Office on the 2nd Floor or email Daynia Flynn (Director) at . Her phone number is 503 382 4836.


Campus Email Policy

Email communication will be through eCompanion. Be sure to check your Profile in eCompanion to update your email address so that you will receive course communications in a timely manner.


Evacuation Procedures

Please proceed to the nearest exit when the strobe lights flash and an audible alarm occurs. AiPD's evacuation location is around the corner on 10th between Everett and Davis; do not stand in front of the Armory or Deschutes Brewery - someone will come to tell you when it is safe to come back in the building. ALWAYS ASSUME ANY EVACUATION IS REAL!


Quarter Credit Hour Definition

A quarter credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally established equivalency that reasonably approximates not less than:

  1. One hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work each week for 10-12 weeks, or the equivalent amount of work over a different amount of time; or

  2. At least an equivalent amount of work as required in paragraph (1) of this definition for other academic activities as established by the institution including laboratory work, internships, practica, studio work, and other academic work leading to the award of credit hours.


Course Calendar

Week 1 ( October 3rd, 2012 )

Lecture topics:

  • Course road-map

  • Review:

    • Complex numbers

    • Vectors

    • Matrices

Homework assignments:


Week 2 ( October 10th, 2012 )

Lecture topics:

  • Homogeneous coordinates

  • Matrix transformations in the plane

    • Translations

    • Basis

    • Rotations about the origin

    • Rotations about an arbitrary point

    • Composite rotations

    • Inverse transformations

  • Frames of reference

Homework assignments:


Week 3 ( October 17th, 2012 )

Lecture topics:

  • Matrix transformations in space

    • Translations

    • Rotations about the origin

    • Rotations about an offset axis

    • Composite rotations

    • Gimal lock

    • Yaw, pitch, roll

    • 3D eigenvectors

    • Rotation about an arbitrary axis

  • Frames of reference in space

Homework assignments:


Week 4 ( October 24th, 2012 )

Lecture topics:

  • Camera transformations

  • Projection


Week 5 ( October 31st, 2012 )

MIDTERMDO NOT BE LATE TODAY!

Lecture topics:

  • Skinning, part 1


Week 6 ( November 7th, 2012 )

Lecture topics:

  • Skinning, part 2

  • Linear interpolation

  • Ease-to / non-linear interpolation

  • Curves:

    • Bezier

    • Hermite

    • Conversion between forms

Homework assignments:


Week 7 ( November 14th, 2012 )

Lecture topics:

  • Curved Surfaces

    • Bezier surfaces

    • Subdivision surfaces

  • Tesselation

  • Barycentric coordinates


Week 8 ( November 21th, 2012 )

Lecture topics:

  • Signal / image introduction

    • What is a singal / image?

    • Filters

    • Frequency analysis

  • Sampling theory

    • Sampling

    • Resampling

    • Aliasing


Week 9 ( November 28th, 2012 )

Lecture topics:

  • Image resampling

  • Anti-aliasing

    • Regular sampling

    • Irregular sampling

    • Prefiltering

Homework assignments:


Week 10 ( December 5th, 2012 )

Lecture topics:

  • Overflow...


Week 11 ( December 12th, 2012 )

FINAL EXAM - 5:30PM to 7:30PM. DO NOT BE LATE TODAY!