Blackboard: graphics pipeline review. Go to Course Documents
and click the "graphics pipeline review" package file. There
are instructions with this interactive review exercise. At the
end you'll be instructed to send me an email - please don't
edit the text in that email.
Answer the following questions by email:
What did you like the best in this class?
What did you like the least?
Assign percentages to the following material depending on how
much time you spent perusing that during the course:
textbook, redbook, slides, content on the web that I linked to,
content on the web that I did NOT link to.
Has this course met your expectations, with regard to content
covered (breadth), depth, theory, and programming/practice?
Which assignments/projects/homework did you like the most? The
least? Explain why for the "best" and "worst".
Any other comments? (You also have the SOF for anonymous
feedback if you prefer)
Come to the MOVES Open House on Thursday at 1500-1700 in WA-275.
Homework 7, due Friday 2/23/2006 11:59pm
Topic: Polygon illumination and shading. If you don't remeber how
interpolation worked, you can read it up in the Shirley textbook,
Section 2.10. Reading for this week: Shirley textbook, Chapter
9, and optionally Shirley Chapter 17 (hardware shaders).
Given are:
the polygon ABC, with
the material properties ka = 0.3 (ambient coefficient),
kd = 0.85 (diffuse coefficient), ks = 0.7 (specular coefficient),
and exp = 65 (shininess exponent);
the point D;
a camera at V;
a point light at P, with Ip = 0.9;
three vectors mA, mB, and mC
that are the (un-normalized) averages of the normals of
all surfaces adjacent to A, B, and C, respectively;
an ambient light with Ia = 0.2.
First, calculate the illumination at the points A, B, and C, using
the Phong illumination model. Then, calculate the illumination at
point D with each of the three shading models "flat", Gouraud, and
Phong.
For your calculations, you can use tools such as Matlab or Excel,
or just a plain old calculator. Your solution has to include the
formulas you used and intermediate calculation steps. Hand in
your solution on a piece of paper with your name on it.
Edit the "homework 6" page on the Blackboard Wiki tool:
add two questions about Avi Bar-Zeev's article and
two questions about the X3D scene graph in particular.
The questions must not be trivial, nor must they be a simple
re-phrasing of a sentence from the text. (You need not know the
answer to all your questions.)
Create a simple scene either in Blender or in X3D-edit:
an airstrip and a hangar. Simple geometry is sufficient,
textures not required.
Export your Blender model from homework 5 into X3D or
VRML format and import it into your scene. Make sure it shows
up on the runway somewhere and that it is properly scaled and
oriented.
For extra recognition but ungraded, animate your airplane so
that it takes off from the runway, flies through the pattern,
and lands again. (Sorry no extra credit this time.) Submit your runway scene in a file called
hw6_yourlastname.x3d through Blackboard's Digital
Dropbox. If you modified your airplane, you may re-submit
that as well as hw6_yourlastname.blend.
Midterm: Tuesday 2/13/2007
Homework 5, due Thursday 2/8/2007 11:59pm
Reading: FCG Chapter 9
Reading: Red Book Lighting Chapter (5 or 6, depending
on edition)
Blackboard quiz on Lighting.
Build a Blender model. Details in class.
Submit a file called hw5_yourlastname.blend through
Blackboard's Digital Dropbox.
Homework 4, due Thursday 2/1/2007 11:59pm
Reading: FCG Chapters 6 and 7
Reading: Red Book Chapter 3; Appendix F
Before Friday's lab: install Blender (the binaries are
sufficient)
In case you will miss the lab: familiarize yourself with
Blender. For example, print the BlenderQuickStart.pdf, then
follow "Chapter 4: Your first animation" through the
non-animated part.
Complete the Blackboard quiz on "Transformations."
Implement an articulated body and two different
viewpoint controls via keyboard/mouse. (This is due Friday
midnight.)
Details in class: at least 2 articulating bodies,
attached to an off-y-axis mount, with the 2 connecting
joints articulating in 2 dimensions each.
Dedicate keys to control the camera position
in a box-car type movement (left/right, up/down, in/out
with respect to the current camera-oriented coordinate system).
Use mouse input to "orbit the camera" around the
model's center. Click and drag up/down controls the
rotation around the model's x axis, click and drag
left/right controls the rotation around the y axis.
Use keys a/z, s/x, d/c etc to control the
animation.
20% extra credit: Add a time-dependent animation by
using glutGet(GLUT_ELAPSED_TIME) or some other
platform-dependent timing function of sufficient precision.
Submit exactly two files through Blackboard's Digital
Dropbox: 1) the source code file, named
hw4_yourlastname.cpp, and 2) a Windows executable, named
hw4_yourlastname.exe. Please type "hw" in lower case. If
you do not develop on Windows, the source code is sufficient.
Homework 3, due Thursday 1/25/2007 11:59pm
Reading: Red Book Chapter 1
Reading: Red Book Chapter 2, you can skip "Displaying
Points, Lines, and Polygons", "Vertex Arrays", and "Some Hints
for...", but DO read "Normal Vectors" and "Attribute
Groups"
Blackboard quiz "Intro to OpenGL"
Edit the "homework 3" page on the Blackboard Wiki tool:
add two questions about the reading material (Red Book). One
question should be fairly straight forward to answer from the
text, the other should be a transfer question or an actual
question that you have but don't know the answer to. The first
question on the page is a sample "easy" question, the second
one is a sample transfer question.
Programm your first OpenGL program. Start
from OpenGLprimer2 and extend it in the following way:
Make the red teapot yellow.
Add key controls 'd' and 'c' that rotate the green
and blue teapots each around their vertical axes, in
opposite directions. The other key controls must not be
affected.
Add 10 red teapots on top of the (now) yellow
teapot such that they all barely touch each other and their
size is 2/3 that of the one below them.
Add key controls 'f' and 'v' that move the yellow
and red teapots up and down with respect to the camera,
irrespective of their orientation.
Add 10 teapots in a new color below the initial
position of the (now) yellow teapot such that they all
barely touch each other and their size is 2/3 that of the
one above them. Their position is to remain unaltered
despite any of the key controls.
Submit exactly two files through Blackboard's Digital
Dropbox: 1) the source code file, named
hw3_yourlastname.cpp, and 2) a Windows executable, named
hw3_yourlastname.exe. Please type "hw" in lower case. If
you do not develop on Windows, the source code is sufficient.
Homework 2, due Friday 1/19/2007 11:59pm
Reading: FCG Sections 2.1, 2.2, 2.3 (you can skip 2.3.3),
2.4, and 2.10.
Reading: FCG: chapter 10, up to including 10.6
Blackboard quiz "Math recap"
Edit the "homework 2" page on the Blackboard Wiki tool:
add two questions about the reading material (chapters 2 and
10). One question should be fairly straight forward to answer
from the text, the other should be a transfer question or an
actual question that you have but don't know the answer to. The
first question on the page is a sample "easy" question, the
second one is a sample transfer question.
Where does the ray
P(t) = [-2; 3; 9] + t*[2; -1; -6]
intersect the following objects, if at all?
a plane H(P) = [2; 7; 3].P - 7 = 0,
a sphere H(P) = P.P - 13 = 0, and
a sphere H(P) = (P-e).(P-e) - 196 = 0, where e=[-8; 3; 4].
Specify both the respective values for t and the intersection
points, and note whether they are in front of or behind the
eye. Vectors are noted in Matlab convention: the semicolon
";" indicates a new row, that is, the vectors above are 3x1
matrices, or column vectors. I suggest you solve this in
Matlab, but you can do it on paper as well. You must submit
your calculations and formula along with the solution.
Suggestion: get a head-start on the hw3 reading.
Homework 1, due Thursday 1/11/2007 11:59pm
Read FCG Chapter 1. If unfamiliar with C++, read Rob Jagnow's
C++ Tutorial slides (on comfort) before reading Section 1.8.
Complete the C++/Programming quiz on Blackboard. The rules
for Blackboard quizzes are:
Blackboard quizzes are graded as pass/fail.
80% or more correct answers are requied to pass.
The quizzes can be retaken as often as desired before the
deadline ("unavailable time").
Questions with checkboxes can have multiple correct answers;
you need to check all correct answers to get points.
Familiarize yourself with your programming environment.
MSVS has a decent help functionality; start with
Contents->Visual Studio .NET->Visual C++. Playing with NeHe's
OpenGL tutorials (Visual C++ code) is another good way.
Make sure you can access \\comfort.ern.nps.edu\mv3202$
and Blackboard.
Over the course of the quarter, we will need the following
free software:
optionally: OpenSceneGraph (the binaries are sufficient)
I recommend that you download and install these packages now.
If you opt to rebuild from source packages, please make sure
you get compatible versions and allow a lot (a lot!) of time
for compilation for OpenSceneGraph.