| IM | Lectures | Projects | Handouts | Grades | VHR |
This page was last updated: July 5, 2011
Go here to register.
Part of the registration process asks you to participate in
voting for staff and faculty awards.
If you are not registering for the EECS graduation,
but still want to vote for staff and faculty awards,
click here.
Go here to register.
Part of the registration process asks you to participate in
voting for staff and faculty awards.
If you are not registering for the EECS graduation,
but still want to vote for staff and faculty awards,
click here.
Date Handout
February 23 Directly Visualizing Volume Data
February 25 OpenGL Lighting
February 28 Keyframe Animation
March 7 Vis Ethics
March 9 Resampling Scattered Data
March 11 More Information
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:
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 |
| Sundays | 7:00 - 8:00 PM | Instant Messaging |
| Mondays | 10:00 - 12:00 | Kelley 2117 |
| Thursdays | 11:00 - 1:30 | Kelley 2117 |
| Fridays | 10:00 - 11:30 | Kelley 2117 |
| or, by appointment -- send email | ||
| or, anytime my office door is open |
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.
The Virtual Hand Raise
Labs
|
Dave Shreiner and the Khronos OpenGL ARB Working Group,
OpenGL Programming Guide, Seventh Edition,
Addison-Wesley, 2009.
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 fourth, fifth, or sixth 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 Ag Hall ("STAG") 109.
OpenGL-GLUT-GLUI.
Geometry vs. Topology.
glBegin()-glEnd().
Be sure to print the handouts for today. (See the Announcements section above.)
More sample.cpp
Vector visualization:
vector clouds,
particle traces,
streamlines, streaklines,
line traces, ribbon traces, blob traces.
First order versus second order accuracy.
Graphics program benchmarking.
Performance tips.
Project #8
Transparency for data visualization.
Texture-mapping for data visualization.
Texture-mapping for data visualization.
3D terrain mapping.
Volume Visualization: rendering, transfer functions, parallel texture planes, uses.
Spline curves.
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 3
Introductions.
General course information.
The Visualization Process.
Project #1,
which is due at 23:59:59 Tuesday night.
2
Jan 5
sample.cpp, the GLUI user interface library, Visual C++, perspective vs. orthographic projections.
Project #2.
3
Jan 7
Introduction to Scalar Visualization.
4
Jan 9
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 12
Color, continued.
Data visualization using color and range sliders.
Project #3.
6
Jan 14
Visualization data definitions.
2D scalar visualization:
2D scatter plots,
colored surface plots,
contouring (isolines).
7
Jan 17
OSU Holiday -- No class today
8
Jan 19
3D scalar visualization.
3D scatter plots,
volume slices,
Project #4.
9
Jan 21
Wireframe isosurfaces.
Project #5.
Polygon isosurfaces.
10
Jan 24
11
Jan 26
Vector visualization, continued.
Project #6.
12
Jan 28
Vector Visualization.
13
Jan 31
Hyperbolic geometry.
Project #7.
Test #1 review.
14
Feb 2
Stereographics in 3D data visualization:
binocular views, separating the images, red-cyan, ChromaDepth, ColorCode,
lenticular displays, stereo projection, stereo mirror.
14
Feb 4
Test #1
16
Feb 7
Go over test answers.
Stereographics, cont.
17
Feb 9
Stereographics, cont.
18
Feb 11
Graphics program benchmarking.
Performance tips.
19
Feb 14
Valentines Day
20
Feb 16
Graphics program benchmarking.
21
Feb 18
22
Feb 21
3D terrain mapping.
Project #9.
23
Feb 23
Map projections for terrain visualization.
24
Feb 25
Volume visualization, continued.
25
Feb 28
OpenGL Lighting and what it does for you in data visualization
26
Mar 2
Spline curves.
Keyframe Animation for data conceptualization.
27
Mar 4
Keyframe Animation, continued.
28
Mar 7
The Ethics of Visualization.
The difference between visualization and conceptualization (DVD).
29
Mar 9
Interpolated scalar values within a triangle.
Re-sampling.
Delauney Triangulation.
Voronoi diagrams.
Test #2 review.
30
Mar 11
Class Evaluations:
it is important that you come today!
Books, periodicals, professional organizations, conferences.
*
Mar 16
Test #2
Wednesday, March 16,
6:30 - 7:50 PM,
Stag 109.
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.
Projects
Project #
Points
Title
Due Date
1
20
Register your Grade-Posting Alias
Jan 4
2
40
Simple Grayscale Point Cloud
Jan 13
3
80
Point Clouds, Colors, and Range Sliders
Jan 24
4
100
Volume Slicing
Feb 2
5
80
Wireframe Isosurfaces
Feb 2
6
100
Vector field visualization
Feb 11
7
80
Hyperbolic Geometry
Feb 18
8
60
Performance Characterization
Feb 25
9
120
Terrain Visualization
Mar 5
10130
Volume Interaction
Mar 10
11
100
Keyframe Animation
Mar 13
| The last three GLUI items in your user interface must be a Debug checkbox, a Reset button, and a Quit button. |
Where necessary, I will give you data or equations to use to generate data for the projects. What if you have some of your own data that will work for the methods being used in a particular project?
Yes! Very cool. Feel free to use it.
However, talk with me first. I want to be sure that (1) your data really is appropriate, and (2) you can import it easily so you don't spend the bulk of the time until the due date just trying to read it.
Projects are due at 23:59:59 on the listed due date, with the following exception:
Each of you has been granted five bonus 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 Bonus 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 | |
| Scalar Visualization | 1pp 2pp 6pp |
| Color In Visualization | 1pp 2pp 6pp |
| Vector Visualization | 1pp 2pp 6pp |
| Hyperbolic Geometry | 1pp 2pp 6pp |
| Stereographics | 1pp 2pp 6pp |
| Performance Graphics Programming | 1pp 2pp 6pp |
| Vertex Arrays and Buffers | 1pp 2pp 6pp |
| Transparency | |
| Texture Mapping | |
| Terrain Visualization | 1pp 2pp 6pp |
| Directly Visualizing Volume Data | 1pp 2pp 6pp |
| OpenGL Lighting | |
| Keyframe Animation | 1pp 2pp 6pp |
| Vis Ethics | |
| Resampling Scattered Data | 1pp 2pp 6pp |
| Finding More Information |
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