| IM | Lectures | Projects | Handouts | Grades | VHR |
This page was last updated: March 12, 2008
The goals of this course are to leave you "career-ready" (i.e., both work-ready and research-ready) for tasks, both GPU and RenderMan, that require the implementation of graphics algorithms in the form of shaders.
Speaking of graphics cards, you can tell if a card will support vertex and fragment shaders by looking for the phrase Shader Model 3.0 compliant in its specifications. A card will support vertex, fragment, and geometry shaders if it is Shader Model 4.0 compliant.
CS 519 topics include:
You must come in being a good OpenGL programmer.
No exceptions!
This is not a good time to learn computer graphics and OpenGL for the first time.
CS 450, 550, 553, or 554 are acceptable preparation.
On completion of the course, students will have demonstrated the ability to:
I recognize that it sometimes takes a certain amount
of courage to ask a question in class.
But, the worst thing of all is to not ask!
So, this class also offers a feature called the Virtual Hand Raise.
Click here to get into it.
It will allow you to send me a question or comment,
completely anonymously.
I will answer all questions submitted this way at the start of the next class.
Prerequisites
Learning Objectives
Professor
The class is being taught by
Professor Mike Bailey.
Office:
Kelley 2117
Phone:
541-737-2542
E-mail:
mjb@cs.oregonstate.edu
Web site:
http://eecs.oregonstate.edu/~mjb
Office Hours:
Sundays
7:00-8:00 (PM)
Instant Messaging
Others TBD
or, by appointment -- send email
The Virtual Hand Raise (VHR)
|
Randi Rost, The OpenGL Shading Language, 2nd Edition,
Addison-Wesley, 2006.
(ISBN = 0321334892)
This is available from the OSU bookstore. You don't need your own copy, but at least have one you can share. Other course material will consist of web pages, handouts, and notes taken in class. |
The Rost, Upstill, and Shreiner books are in the CGEL library.
To see a Spring Quarter calendar,
click here.
Class lecture time is:
Monday, Wednesday, and Friday, 1:00 - 1:50.
Be sure to check the class room in the table below to see what days
we will be in Kelley Engineering Center room 1003 and what days we will be in the
Computer Graphics Education Lab (CGEL -- Batcheller 244).
Other Good References
Lecture Schedule
| Date | Room | Topics | |
|---|---|---|---|
| 1 | March 31 | 1003 |
Introductions.
General course information.
Project #1.
The graphics pipeline -- how it really works. Homogeneous coordinates. Coordinate systems: Model, World, Eye, NDC, Clip, Screen. |
| 2 | April 2 | 1003 |
The graphics pipeline -- how it really works, continued.
Transformations, Viewing volumes, Normals. Uniform, Varying, and Attribute variables History of RenderMan |
| 3 | April 4 | CGEL |
Introduction to RenderMan:
Shader coordinate system, RIB, shaders, built-in functions and variables bvrman. |
| 4 | April 7 | CGEL | RenderMan surface and displacement shaders |
| 5 | April 9 | 1003 | Noise: Positional, Gradient. Cubic and quintic interpolation. |
| 6 | April 11 | CGEL | Noise: Fractional Brownian Motion (FBM, 1/f), turbulence. |
| 7 | April 14 | CGEL |
Introduction to the OpenGL Shading Language (GLSL)
How GLSL is similar to, and different from, RenderMan shaders Built-in functions and variables Attribute, Uniform, and Varying variables glman |
| 8 | April 16 | CGEL |
Fragment Shaders:
Working in Model Coordinates versus Eye Coordinates
GLSL Noise |
| 9 | April 18 | CGEL | GLSL Textures I: unsigned byte, floating point, 2D, 3D, parameters, binding, texture units, multitextures, sampler functions |
| 10 | April 21 | CGEL |
GLSL Textures II:
Cube maps.
Reflection, refraction.
|
| 11 | April 23 | CGEL | Bump mapping, I |
| 12 | April 25 | CGEL | Bump mapping, II |
| 13 | April 28 | CGEL | More fun with vertex shaders: Dome projection, Hyperbolic projection, Geometry Morphing |
| 14 | April 30 | CGEL |
Test #1 review.
The optics of rainbows and diffraction The optics of lenses |
| 15 | May 2 | 1003 | Test #1 |
| 16 | May 5 | CGEL | Image manipulation in shaders, I |
| 17 | May 7 | CGEL | Image manipulation in shaders, II |
| 18 | May 9 | CGEL |
Discuss the Shader Olympics Final Project.
Look at some examples from last year.
Go see the Engineering Expo after class! |
| 19 | May 12 | 1003 | Dino Poster class presentations, I |
| 20 | May 14 | 1003 | Dino Poster class presentations, II |
| 21 | May 16 | 1003 |
Written Shader Challenge proposals due at the start of class.
Geometry Shaders, I |
| 22 | May 19 | CGEL | Geometry Shaders, II |
| 23 | May 21 | 1003 | The GLSL API, I |
| 24 | May 23 | 1003 | The GLSL API, II |
| 25 | May 26 | ---- | OSU Holiday -- No Class Today |
| 26 | May 28 | CGEL | Visualization using shaders. |
| 27 | May 30 | CGEL | No class today. Work on your projects! Prof. Bailey will be in the CGEL to discuss your projects and answer questions. |
| 28 | June 2 | 1003 |
Class Evaluations
Test #2 review. More Information |
| 29 | June 4 | CGEL | Shader Olympics Presentations |
| 30 | June 6 | CGEL | Shader Olympics Presentations |
| * | June 11? | 1003 | Test #2 Wednesday, June 11, 9:30 - 11:00 AM, Kelley 1003. |
Grades will be posted through this web page.
To protect your privacy,
they will be posted by your alias that you give me in Project #1.
Click here to see the current grade posting.
CS 519 will be graded on a fill-the-bucket basis.
There will be 9 projects and two tests.
You get to keep all the points you earn.
Your final grade will be based on your overall class point total.
Based on an available point total of 1040,
grade cutoffs will be no higher than:
These executables are all loaded on the CGEL machines,
but you can also get them here in case
(1) you want to run them on other machines, or
(2) there are newer versions than what are on the CGEL machines.
You might also need these dlls:
Electronic submissions are due at 23:59:59 on the listed due date.
The paper turnin is due the class period following the electronic copy due date
(although you are welcome to turn it in early).
Accommodations are collaborative efforts between students,
faculty and Services for Students with Disabilities (SSD).
Students with accommodations approved through SSD are
responsible for contacting the faculty member in charge
of the course prior to or during the first week of the term
to discuss accommodations.
Students who believe they are eligible for accommodations,
but who have not yet obtained approval through SSD,
should contact SSD immediately at 737-4098.
Projects
Project #
Points
Title
Due Date
1
20
Register your Grade-Posting Alias
April 2
2
60
Elliptical polka-dots
April 11
3
100
Noisy displaced elliptical polka-dots
April 18
4
100
Interactive noisy elliptical polka-dots
April 28
5
60
Dino poster
May 7
6
100
Bump Mapping Linear Ripples
May 18
8
100
Geometry Shaders
May 28
9
200
The Shader Olympics
June 4
Grading
Points
Grade
1030
A
1010
B+
990
B
970
C+
950
C
930
D+
910
D
Files Used in Class
Handouts
Executables
Project Turn-In Procedures
If you disagree with the score, or want to know why you did not receive full
credit, then turn in a note to me along with a listing of your program.
You have one week after the grades are posted to do this!
Class Rules
Students With Disabilities
Other Useful Online Graphics and Shader Information