| IM | Lectures | Projects | Handouts | Grades | VHR |
This page was last updated: March 10, 2009
These have been abbreviated for CS 553.
If you want to see all the OpenDX notes, go to the
full OpenDX page.
CS 553 topics include:
You can take this course with little or no graphics experience,
but please do not take it for credit if you are not a moderately
experienced programmer.
You don't have to know C really well to start,
but you should come in having programmed in something.
CS 553 is a tough way to learn to program for the first time ...
On completion of the course, students will:
There are several options to reach me during IM office hours.
Click here to find out what they are.
I recognize that it takes a certain amount of courage to ask a question in class.
But, the worst decision of all is to not ask!
So, this class 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.
You can use any GLUI-GLUT-OpenGL environment you can find
(eg, Linux, UNIX, Visual C++) for program development.
You will have access to the College of Engineering
Computer Graphics Education Lab in Batcheller Hall 244.
No matter where you work, all projects must be turned in as either Linux or PC executable files.
Prerequisites
This is a C programming-intensive class.
Prior experience with Linux or Windows and programming is a good idea!
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://cs.oregonstate.edu/~mjb
Office Hours:
Sundays
7:00 - 8:00 PM
Instant Messaging
Mondays
12:00 - 2:00
My office
Wednesdays
12:00 - 2:00
My office
Thursdays
11:00 - 1:00
My office
or, by appointment -- send email
The Virtual Hand Raise
Labs
|
Dave Shreiner, Mason Woo, Jackie Neider, and Tom Davis
OpenGL Programming Guide, Sixth Edition,
Addison-Wesley, 2007.
You need access to this book, but don't need to own it yourself. Sharing works well. (Although all serious graphics people do own this book...) This book is available from the OSU bookstore. (If you have the third, fourth, or fifth edition, this will be fine.) Other course material will consist of web pages, handouts, and notes taken in class. |
Also, the following book is very good:
|
Ed Angel,
OpenGL: A Primer,
Third Edition,
Addison-Wesley, 2007.
It doesn't explain much from scratch, but it is really good at reminding you how to do certain things in OpenGL. Its examples use GLUT. |
To see an academic year calendar,
click here.
Class lecture time is:
Monday, Wednesday, and Friday, 9:00 - 9:50.
Unless otherwise specified,
all lectures will be held in Strand Agriculture Hall (STAG) room 310.
OpenGL-GLUT-GLUI.
Geometry vs. Topology.
glBegin()-glEnd().
Be sure to print the handouts for today. (See the Announcements section above.)
More sample.cpp,
intensity depth cueing.
Vector visualization:
vector clouds,
particle traces,
streamlines, streaklines,
line traces, ribbon traces, blob traces.
First order versus second order accuracy.
Projects 2-11 are programming projects requiring you to use
OpenGL, GLUT, and GLUI.
All user interface options must be visible in a GLUI window.
(You can also use GLUT pop-up menus and keyboard strikes if you want,
but I am only going to grade using your GLUI window.)
Other Good References
Lecture Schedule
1
Jan 5
Introductions.
General course information.
The Visualization Process.
Project #1,
which is due at 23:59:59 Tuesday night.
2
Jan 7
Class today will be in the Computer Graphics Education Lab,
Batcheller Hall room 244.
sample.cpp, the GLUI user interface library, Visual C++, perspective vs. orthographic projections.
Project #2.
3
Jan 9
Class today will be in the Computer Graphics Education Lab,
Batcheller Hall room 244.
4
Jan 12
Color!
RGB, HSV, CMYK, La*b* color spaces.
Different color scales.
Mapping scalar values to colors.
General rules of thumb when using color in
scientific and engineering visualization.
Color gamuts.
5
Jan 14
Color, continued.
Data visualization using color and range sliders.
Project #3.
6
Jan 16
Visualization data definitions.
2D scalar visualization:
2D scatter plots,
colored surface plots,
contouring (isolines).
7
Jan 19
OSU Holiday -- No class today
8
Jan 21
3D scalar visualization.
3D scatter plots,
volume slices,
Project #4.
9
Jan 23
Wireframe isosurfaces.
Project #5.
Polygon isosurfaces.
10
Jan 26
Hyperbolic geometry.
Project 6.
11
Jan 28
Vector visualization, continued.
Project #7.
12
Jan 30
Stereographics: binocular views, separating the images,
ChromaDepth, ColorCode,
lenticular displays.
13
Feb 2
Graphics program benchmarking.
Performance tips.
Project #8.
Test #1 review.
14
Feb 4
Transparency for visualization.
Texture-mapping for visualization.
15
Feb 6
Test #1
16
Feb 9
Go over test answers.
Terrain mapping.
Project #9.
Map projections for terrain visualization.
17
Feb 11
Volume Rendering: rendering, transfer functions.
18
Feb 13
Volume visualization, continued.
Volume analysis.
19
Feb 16
Volume Rendering: parallel texture planes.
Project #10.
20
Feb 18
OpenGL Lighting and what you can do with it
21
Feb 20
Stencil Buffer: magic lenses, outlining polygons, hidden line removal.
Accumulation Buffer: motion blur, depth of field.
22
Feb 23
GPU programming for visualization
23
Feb 25
Spline curves.
Keyframe Animation.
24
Feb 27
Keyframe Animation, continued.
Project #11.
25
Mar 2
Interpolated scalar values within a triangle.
Re-sampling.
Delauney Triangulation.
Voronoi diagrams.
26
Mar 4
Prof. Bailey out of town -- no class today.
27
Mar 6
The Ethics of Visualization.
The difference between visualization and conceptualization (DVD).
28
Mar 9
OpenDX.
Class today will be in the Computer Graphics Education Lab,
Batcheller Hall room 244.
29
Mar 11
OpenDX.
Class today will be in the Computer Graphics Education Lab,
Batcheller Hall room 244.
30
Mar 13
Class Evaluations:
it is important that you come today!
Test #2 review.
Books, periodicals, professional organizations,
conferences, vendors.
Job interviewing tips.
Future trends to look for.
*
Mar 19
Test #2
Thursday, March 19,
9:30 - 11:00 AM,
STAG 310.
Attendance
As with most college courses, attendance at the lectures is optional.
However, anything discussed in class is eligible to be on a test,
and might be needed to complete a project.
If you have to miss a class, be sure to get the notes from someone
else who was able to attend.
Also, be aware that cool videos tend to be shown at the start of class.
You snooze, you lose!
Projects
Project #
Points
Title
Due Date
1
20
Register your Grade-Posting Alias
Jan 6
2
40
Simple Grayscale Point Cloud
Jan 12
3
80
Point Clouds, Colors, and Range Sliders
Jan 22
4
100
Volume Slicing
Jan 30
5
80
Wireframe Isosurfaces
Jan 30
6
80
Hyperbolic Geometry
Feb 6
7
100
Vector field visualization
Feb 13
8
60
Performance Characterization
Feb 18
9
120
Terrain Visualization
Feb 25
10
130
Volume Interaction
Mar 8
11
100
Keyframe Animation
Mar 16
| The last three GLUI items in your user interface must be a Debug checkbox, a Reset button, and a Quit button. |
Projects are due at 23:59:59 on the listed due date, with the following exception:
Each student is granted five Forgiveness Days, which are no-questions-asked one-day extensions which may be applied to any project, subject to the following rules:
Click here to get a copy of the Forgiveness Day Submission Form. Fill this out and turn it in the next class period after turning in your project.
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 553 will be graded on a fill-the-bucket basis.
There will be several projects, two tests, and maybe some quizzes.
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 1110,
grade cutoffs will be no higher than:
Grading
Points
Grade
1075
A
1025
B+
975
B
925
C+
875
C
825
D+
775
D
| The Visualization Process | |
| OpenGL-GLUT-GLUI | |
| glutMainLoop | |
| sample.cpp | Text |
| GLUI Documentation | |
| Color In Visualization (1 slide per page) | |
| Color In Visualization (2 slides per page) | |
| Color In Visualization (6 slides per page) | |
| Marching Cubes | PDF. |
| StereoGraphics | PDF. |
| OpenGL Performance Notes | PDF. |
| Vertex Arrays | PDF. |
| OpenGL Transparency | PDF. |
| OpenGL Texture Mapping | PDF. |
| Volume Visualization (2 slides per page) | |
| Volume Visualization (4 slides per page) | |
| Volume Visualization (6 slides per page) | |
| OpenGL Lighting | |
| Stencil Buffer | |
| Accumulation Buffer | |
| Introduction to Shaders for Visualization | |
| More Information notes |
The only address I will ever use to email you will be mjb at some Oregon State domain.
If you get an email from a different address claiming to be me,
do not respond to it, and let me know right away.
The goal of Oregon State University is to provide students with a
general education so that they will acquire knowledge, skills,
and wisdom to deal with and contribute to contemporary society in constructive ways.
The State Board of Higher Education and the University,
through the Student Conduct Committee,
have established regulations and policies deemed necessary to achieve
the University's objective as an educational institution.
All members of the University community have a strong responsibility
to protect and maintain an academic climate in which the freedom
to learn can be enjoyed by all.
If an individual's conduct does not meet University standards,
the possibility of disciplinary action arises.
The Student Conduct Program attempts to emphasize those kinds
of experiences that assist the individual involved to think out,
evaluate, and become accountable for personal behavior;
to establish a personal code of conduct; and if need be,
to redirect behavior in order to meet University expectations.
In enforcing student conduct regulations, the University follows due process procedures.
Great emphasis is placed on the consideration of each individual case rather than attempting
to have matching "penalties" or actions for specific incidents.
The ultimate objective of the Student Conduct Program is treatment
in their relationships with the institution.
Through a fair consideration of all factors in each case, an attempt
is made to prevent arbitrary and authoritarian action by an administrator
or by student groups.
Members of the staff of the Student Conduct Program are available to
consult with and counsel students who believe that their individual
rights have been violated or who are experiencing behavioral difficulties.
For more information, see the Office of Student Conduct web page at:
http://oregonstate.edu/admin/stucon/achon.htm
Accommodations are collaborative efforts between students, faculty and Disability Access Services (DAS). Students with accommodations approved through DAS 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 DAS should contact DAS immediately at 737-4098.
In many on-line newsgroups or web topics, there is an entity known as
a Frequently Asked Questions list, or a FAQ.
Here we have several FAQs, arranged by topic.
Click below to see individual FAQs:
Click here
to record yourself on the CS 553 student roster.
This is Project #1, and is worth 20 points.
Project Turn-In Procedures
Then login and select Submit Assignment.
Follow the instructions to upload your executable.
You have one week after the grades are posted to do this!
Class Rules
Expectations of Student Conduct
Students with Disabilities
FAQs
Linux C Compiler FAQ
Visual C++
Other Useful Online Graphics and Visualization Information