October 31, 2003
- A clarification was has been made to the Discussion Section 3
notes under the heading "Catmull-Clark Subdivision on a Triangulated
Surface". In this step, you need to turn a mesh of triangles into
a mesh of
quadrilaterals. However, the clarification states that the new
mesh of quadrilaterals should be created once and only once when the
surface is loaded, rather than being treated as a subdivision
Also, the way of generating a point on an edge during this
quadrilateralization has been simplified so that now you only need to
find the midpoint of the edge. The new notes are available here.
- Project 4 has not yet been posted. It should be up before
Project 3 is due.
October 29, 2003
- The polyhedra file dragon.off
for Project 3 has been changed. The first line, "422 589", has
been changed to "422 609". Please re-download the file or correct
- Some corrections to the Discussion Section 3 notes have been
made. Please redownload or reprint these notes, if you have a
copy of the old notes. The new notes are available here.
October 27, 2003
- Some important changes have been made to Project 3, all of which
are marked on the Project 3 page with the notification ***NEW***.
- The Discussion Section 3 notes have been posted here.
October 17, 2003
- Project 3 has been posted! It is unlikely that this
project's due date will get pushed back, so get started on it soon.
- The discussion section for Project 3 is scheduled for 2:30pm -
4:00pm on Wednesday, October 22 in ACES 2.402 (the same room as last
time). We will be talking about subdivision surfaces and viewport
October 7, 2003
- In light of the Midterm on Thursday, the deadline for Project 2
has been extended. Project 2 will now be due two days later, on
Thursday, October 16. Project 3 will be now be posted on October
- The solutions to the Practice Midterm have been posted under the
- The solutions to the written and coding questions for Project 1
have been posted under the Projects Section.
- Regarding Project 2, a student wrote: "The default Near and
Far parameters for the viewing window in the starter code are -1 and 1.
These are way too close to allow any rotation about the y axis without
serious clipping." For both the orthographic and perspective
projections, it is recommended that you set up the projection matrices
with the near and far clipping planes spaced farther apart and further
away from the eye. Then, use your matrix translation to
move to the center z coordinate of the viewable region. Take a
the camera initiation in the Project 1 starter code for a similar
example (remember that you must use your own subroutine instead of
glTranslatef() ). Also note that you can and probably should use
glLoadIdentity() when you switch between an orthographic projection and
a perspective projection.
October 2, 2003
- The Practice Midterm has been posted under the Exams Section.
- The next discussion section will be held on Monday, October 6
from 1:00pm - 2:30pm in ACES 2.402. We will be going over the
solutions to the Practice Midterm. These solutions will also be
- The Discussion Section 2 notes have been posted here.
A few minor corrections
have been made.
- A few changes have been made to Project 2. They are marked
with the notification ***NEW***.
September 25, 2003
- The discussion section for Project 2 is scheduled for 2:30pm -
4:00pm on Wednesday, October 1 in ACES 2.402 (the same room as last
time). We will be talking about L-systems and
the transformation matrices used in OpenGL.
- A new Announcements Archive has been linked to at the end of the
Announcements section in order to remove some of the clutter from the
September 21, 2003
- Project 2 has been posted! An earlier version of the project
that was posted used the wrong due date. The corrected due date should
"October 14, 11:59pm".
- A lot of people have had problems compiling under Visual
C++. Try the following: In all files that include the headers
"gl.h" or "glut.h", add the following 3 lines before any other code:
- Two new bugs were found in the starter code for Project 1.
If these bugs do not affect the correctness of your code and you have
already submitted, then they will not be counted against you. The
first bug: In drawing.c, in the function print_disp_style, the two
printf's need to be swapped.
- The second bug: All arrays of indices in "vrml.h" are
declared as arrays of type GL unsigned int. However, they contain
the value "-1." While this does not cause an run-time error in C,
should still be changed for correctness. One solution is to
instances of "GLuint" in the file with "GLint". Be sure to carry
over the change in datatype to any routines that rely on the datatype
for calculations (such as determining the number of elements in an
array by dividing the total array size by the size of the datatype).
September 4, 2003
- Clarifications and minor modifications have been added to the Project
assignment page. Be sure to read the parts of the page marked "***NEW***".
- A patch
has been released to fix some of the bugs in the source code for
Project 1. The patch can be manually applied to fix the current
the earlier distribution of the code. Alternatively, you can
re-download the entire source tree, which has been updated in the zip
file linked to from the Project
- The corrected notes from Discussion Section 1 are posted here.
- If you would like to use C++ syntax rather than C syntax for
project 1, that is fine. Edit the Makefile so that the first
line, CC = gcc, uses your
C++ compiler of choice instead of gcc. Your program is still,
however, required to run on the Linux machines in Taylor Basement for
grading. Be sure to change the Makefile to use a C++ compiler if
you are developing on Visual C++.
- The syllabus has been updated with a clarification on the grace
day policy as it applies to the coding and written portions of the
August 28, 2003
- Project 1 will be available on the website on Tuesday, September
2. Check the Projects section on this page at that time.
- The first discussion section will be held on Wednesday, September
3 2:30pm - 4:00pm Location ACES 2.402. The discussion section will be
going over some OpenGL programming material that will be used in
Project 1. The discussion section is optional, although it is
recommended that you attend.
- In the future, we will be holding one discussion section at the
beginning of each Project to talk about the background material and
ways of approaching the assignment.