John Brosz's 589 Web Site

Labs: B01 (MW 1300), B02 (TR 1400) in the undergraduate graphics lab.

Contact: brosz at
Office: None, email me and I'll meet you in the ug graphics lab.

What's up . . .
  • May 6 - I've put up a page for sharing all the project binaries here. Enjoy. Good work everyone, there were lots of great projects!
  • April 13 - Demos are on Thursday. If your group hasn't signed up already please email Dr Samavati or me. On Thursday you are expect to make a 10 minute presentation demoing your project and discussing what you have accomplished. This demo will be in the graphics lab (MS 631). Please show up 5 minutes early. Your code, executable, and report are not due until Monday, April 19. You may either post your code, executable, and report on a web page or hand in a CD with this information. Also note that Dr Samavati has posted some example reports here and here. When writing your report make certain you discuss the design decisions, algorithms, and data structures you used in your project (remember documentation in 453?). Also course notes and some sort of review are coming and I'll send out an email when they are availible.

  • April 12 - For question 2 of assignment 3 first use the cubic bspline weights in the u direction and then in the v direction for each type of vertex to get the proper catmull-clark weights. Send me an email if this doens't make sense to you.
  • March 29-31 - I will be attending a conference and will not be here so labs for these three days are cancelled.
  • March 15/16 - On Monday Reza is presenting the VV data structure. For both Monday and Tuesday's labs I'll will quickly go through the algorithm for question 5 of the midterm.
  • March 10 - People have been askings questions about the final and remaining assignment. There will be one more assignment that will consist of questions only (no coding). There is no code because we'd like you to spend most of your time writing code for your project. The final will not have questions as challenging as the midterm. These questions were quite involved because it was take home exam. The questions on your final will be shorter and will not involve a lot of memorization.
  • March 9 - The last of the loop subdivision pseudo code that I didn't finish covering in lab is here. I may go through this quickly sometime next week.
  • March 8/9/10/11 - This week lab will be covering data structures for subdivision. In the Monday/ Tuesday lab I'll be covering a conventional mesh data structure and how it can be used to perform loop subdivision. On Wednesday and Thursday another grad student, Reza Pakdel, will present the vertex-vertex data structure and how to use it for subdivision. I think these two lab will be very useful, even if your project is not on subdivision, and I recommend that everyone come!
  • March 3/4 - I'm going to go over a couple of questions similar to what you might see on the midterm. Please remember to check about any code you use in your assignments or projects as we mention in the ssignment/project guidelines found here.
  • March 1/2 - This lab is dedicated to last minute questions about assignment 2. If you've got your assignment done you won't find anything exciting happening.
  • February 25/26 - This lab again will be for working on your assignment and/or project specification.
  • February 23/24 - I probably won't be covering much in lab today. I'll spend a little time discussing assignment 2 and leave you the rest of the lab to work on your assignments/project proposals.
  • February 11/12 - Handed back written component of assignment 1 and reviewed the answers. Assignment 2 will be all about bsplines. Discussed multiple knots and proof of bspline with knot sequence {0,0,0,1,1,1} equal to bezier curve. It is a good idea to get your project proposal done/started over reading break.
  • February 9/10 - Reviewed material on uniform bsplines. Talked about parametric space and curve space. Also discussed the properties of the basis functions and bspline curves.
  • January 26/27 - Everyone should be able to log in now! Take a look at the course web page because assignment 1 and the project spec has been released. Assignment 1 is due Feb 6 at 4pm. Hand the written component into the 589 assignment box (2nd floor MS) and email your program to me. In lab we're reviewing material for smooth shading in openGL. Exercise: smooth shade a cube like it was a sphere. Check out the picture below for what I mean. An obj file containing sphere coordinates is availible here. I recommend using an old assignment (e.g., an obj loader) for this, but you can also just hard code the vertex values. The important part of this is calculating rather than hard coding the vertex normals. This is designed to be helpful if you found smooth shading problematic and want to do the bonus for assignment 1.
  • January 19/20 - First lab, I talked about some linear algebra review (check it out here). Three other good sources of the linear material are the appendices of the computer animation text book, your old linear algebra text, and mathworld. I also mentioned some links to good OpenGL info, they're at the bottom of the web page.

Reminders for Assignment 2
  • For question two please imitate the input parameters of the original delta function in the notes. You may add one extra parameter if necessary.
  • For question 3 please use the value of the knots (e.g., 0, 1, instead of U1, U2, etc) and reduce your final solution algebraically as much as possible. So this means just solve for N0,3 and show the knots values for this function. The other basis functions (N1,3, N2,3, etc) can be found by shifting the values.

Assignment 1
  • Due February 6 (Friday) at 4pm.
  • Hand in written component to MS 2nd floor boxes, email program to
  • Email me if you have any questions!

Other useful pages