main-main

This is the CS559 (Computer Graphics, Fall 2008) News and Announcements page. If you’re looking for basic information about the course, you probably want the BasicInfo page!

You should check this page regularly for news and other announcements as this is the main way of spreading the word about class announcements. Check out the BAD LINK of this page, if you prefer to get your information that way. Either way, you will be held accountable for the information that appears on this page. This page will be updated frequently.

December 19,2008 by gleicher
Final Exam, Town Project, and Final Grades

The key to the final is here.

You will receive email with

  1. your final exam grade (with a breakdown by question)
  2. your town project grade (with a brief explanation)
  3. your final grade (with a list of all the project grades through the semester)

December 17,2008 by bfield
Wrong location for W3 key

Actual location is BAD LINK. Sorry about the confusion

December 17,2008 by bfield
W3 key

The key for written assignment 3 is BAD LINK

December 11,2008 by gleicher
The Final Exam

The final exam will The exam will be at 2:45pm on Thursday, 12/18. It is scheduled to be in Room 1221CS (the same room as lecture). (note: this is a new location)

There is an outline of topics that might appear on the exam FinalExamReview. If you look at previous year’s web pages for the course (look to the left) you will find old exams which might be helpful.

December 9,2008 by gleicher
Project Demos and Late Policy

A signup sheet has been placed on Blayne’s door. There are 15 minute slots on Thursday (4:15-5:15) and Friday (2:30-5:15). Please sign up for a slot. If you cannot make one of these times, contact us ASAP. It will be difficult to plan a demo for a different time.

The fact that demos are happening so close to the end, and that this project is worth more than the others, means some inconsistencies in the late policy. Basically, we’ll be more lenient with the project - we’d prefer you do more cool stuff than turn things in on Tuesday.

If you want specifics:

  • at worst, we will apply the late penalty to the project that it hurts you the least (so if you turned in P2 and P4 late, we’ll deduct from P2 since its worth less)
  • we reserve the right to penalize you less than 1/2 of a grade, if your project is sufficiently interesting (yes, this is subjective)

December 1,2008 by gleicher
Demos next week

Everyone will have to give a demo of their town to Blayne and I next week (probably on Thursday).

Since people find the demos fun, last year we decided to do some of them “theater style.” We reserved 1221, invited the whole class to watch, and let people present their projects in front of everyone. It was fun. Basically, only the people who were presenting showed up, but everyone had fun seeing everyone else’s creation.

Note: there is no pressure to do a presentation demo. If you prefer to just give a demo to Blayne and I in the Starsky&Hutch lab, it won’t change your grade or anything.

If you are interested in showing off your project in this kind of setting, send email to Blayne before Friday, December 5th (i.e. on Thursday or before). We need to know how many people want to do this so we can schedule it. The demo session would probably be Friday afternoon, December 12th.

December 1,2008 by gleicher
Extra Office Hours

I will have extra office hours this week to help people with their towns. On Thursday and Friday, I will be available from 4:00-5:00. I will stop by the Storm/Starsky&Hutch labs first (so if you come by my office and I’m not there, just wait a bit).

November 29,2008 by gleicher
No Assignment Due on Tuesday 12/2

You probably noticed that I didn’t assign something to be due on Tuesday, December 2nd. So there’s nothing due on that day. Make sure that you’re making good progress on the final project.

The written homework assignments are a good way for you to practice for the exam. So we’ll provide you with some practice questions closer to the exam - but they won’t be checked, or effect your grade (other than preparing you for the exam).

November 26,2008 by bfield
P3 graded

Project 3 has been graded, and your grades have been entered in Learn@UW.

Rough grading criteria:

  • BC: not all basic features working
  • B: basic features all work, or some are broken but simple advanced features work
  • AB: basic features work, plus arc-length parametrization works (or almost works, plus other features)
  • A: all basic features work, arc-length parametrization works, many other cool/advanced features

Note that the usual late penalty has already been applied in the grades in Learn@UW.

November 19,2008 by gleicher
More Opportunities to do Graphics

Several people have started asking about it, so here’s a general reply.

I do like to work with students (undergrads and grads) on directed study and research projects, for things that are on topics I’m interested in.

If you’re interested in doing things next semester, I suggest taking the Advanced Graphics class - it will (probably) not be taught next year. This class will give you an opportunity to do projects, and will provide you with good background for doing projects later. Even if there is some specific topic you really want to know about, the general background will help you. (for example, if you’re interested in realistic rendering, you’ll need to know about geometry, perception, motion, …).

If you really want to do a directed study project instead of Advanced Graphics (or in addition to it), I am willing to talk about, but expect to be steered towards the class and/or projects already in place in our group.

In future semesters, I am definitely willing to work with students on projects. For the summer, there is a Departmental research fellowship program.

I expect that CS679 (Game Technologies) will be taught next Spring.

November 16,2008 by gleicher
Written Assignment

A written assignment on curves and textures is due on 11/25 and is available at WrittenCurvesTexture.

So the things coming up:

  • Train demos (11/17)
  • Shader Practice Assignment (11/18)
  • Deadline for picking a partner for your Town project (11/20)
  • Written Assignment (11/25)
  • Town Project due (12/9)
  • Late Town Projects due (12/12)

November 14,2008 by gleicher
Graphics Town Example Code

The example code (the recommended framework for doing the final project) is available for download.

You can read about it at Assignments.GrTownCode, but you should probably start by reading about the project itself Assignments.GrTown.

November 13,2008 by gleicher
Old Shader Tutorial

The old shader tutorial can be accessed at: HelloShader.HelloShader

November 13,2008 by gleicher
Final Project Announcement: Graphics Town

The last project, GraphicsTown is announced at GrTown. We haven’t made the example code available yet (but it should be ready today). But you should read it over.

Some short term deadlines: if you want to work with a partner, you must tell us by November 20th. And there is a checkpoint on November 25th.

November 12,2008 by gleicher
Shader Anti-Aliasing

There is a tutorial on Shader Anti-Aliasing for Procedural Textures in Main.ShaderAntiAliasing. We’ll look at this example in class tomorrow, but I’m posting it so you can look at the pictures.

November 11,2008 by gleicher
Train Demos

We’ll do part of the grading for the Train Project in a demo session. We’ll let you drive the train and show off its features. Part of this is that you need to be able to explain what is going on.

We’ve scheduled the demo session from 3:00-5:30 on Monday, November 17th. We’ll schedule 15 minute blocks and try to see 3 demos in each. (we’ll do multiple demos in parallel).

In class on Thursday, we’ll have a signup sheet for demo times. After class, Blayne will put the signup sheet on his office door.

If you cannot make it during the demo timeslot, let us know and we’ll make other arrangements.

Because we will begin grading on Monday morning (to prepare for the demos), no late assignments will be accepted after Sunday night.

November 11,2008 by gleicher
Shader Practice Asssignment

The ShaderPractice assignment is announced and is due next week (the 18th). We’ll talk about shader programming this week.

The CSL is having issues keeping RenderMonkey running on the lab computers, but they are working on the problem and should have it resolved soon.

November 10,2008 by gleicher
Exam Grading

The exams have been graded. You should get email from Blayne with your grade later, and we’ll make the exams themselves available in the next few days.

Generally: the statistics of the exam work out well (nice “normal” distribution, median=mean, …). At least one person got full credit for each question (although no one got all the questions).

We adjusted the point ranges so people on the edge got the higher grade (no one is 1 point away from a better grade):84-93=A, 77-79-AB, 71-75=B, 62-68=BC, 60=C, 50=CD, 43=D.

November 3,2008 by gleicher
Key for the Mid Term

Is posted at: pub:2008-Fall-Midterm-key.pdf

November 3,2008 by gleicher
Texture and Curves

As you probably noticed, we changed the order a bit and started talking about texture in class.

On Tuesday, we’ll wrap up curves with some practical issues (it will help you on the project), and a discussion of Bezier Curves (which are really useful in practice). Be sure to read the book though - Shirley Chapter 15 covers more than we did in class - in particular, the section on Bezier Curves is particularly important for exam questions. You are not responsible for B-Splines (Section 15.6.2).

On Thursday, we’ll talk more about texture. Be sure to read up on texture since you’ll need to use it later in the class. The readings are:

  • Shirley Chapter 11 - for a basic intro.
  • OpenGL Book Chapter 9 - for lots of gory details about doing it in practice. You don’t need to memorize the details, but know where to find them (for when you’re programming), and use the opportunity to review the key concepts.
  • RTR (2e) Chapter 5 has a great discussion. I strongly recommend reading it, although you can safely ignore all of the details of the picky stuff at the end. A scan of this chapter is available in Learn@UW (under “Content”) or on AFS in p:/course/cs559-gleicher/public/Readings. If you have RTR 3e, the chapter in that is even better.

November 2,2008 by gleicher
Help Session, Wednesday, Nov 5

We’ll have a help session on Wednesday 5th at 5pm. (Later than usual time since there’s a faculty meeting). Bring questions, and we’ll try to bring answers.

We’ll also talk about the train in class on Tuesday the 4th.

November 1,2008 by gleicher
Future Graphics Classes

I’ve been getting some questions about this, so I figured I should explain.

  • Next semester (Spring ‘09) there will be an advanced graphics class. It doesn’t have its own number yet, so it will be offered as a CS638/CS838. (yes, it will have two numbers for 1 class - you can take it either as a grad class (838) or an undergrad class (638)). There will also be a CS638 class on “Computational Photography” taught by Chuck Dyer. A more complete description of these classes is coming soon.
  • Next fall (Fall ‘09) - there will probably not be an advanced graphics class (I will teach 559)
  • Next spring (Spring ‘10) - I will probably teach CS679 (Games Technologies).

There are also opportunities for directed study projects in any semester.

October 27,2008 by bfield
Written HW 2 feedback

You should have received (in your CS mail account) feedback for Written HW #2. Make sure to take a look (and compare them to the sample solutions), as these types of questions could show up tomorrow on the exam.

October 24,2008 by gleicher
Office Hours Cancelled

I will not hold office hours next week (10/27-31).

October 23,2008 by gleicher
Midterm Exam Info

The midterm exam will be at 7:15pm on Tuesday night, October 28th, in room 1221 CS (our normal lecture room). The exam is scheduled until 9pm. It shouldn’t take you that long.

All lectures to date are fair game for topics. While any of the assigned readings are fair game, the questions will focus on things discussed in class. You might want to look in the book since it explains some things better.

You might want to look over the Lecture Notes page as a reminder of what we discussed in class.

October 21,2008 by gleicher
**Train Project (Project 3)**

Is announced atP3-Train.

October 21,2008 by gleicher
Handin Directories for P2

We have made handin directories for the construction site project. If you had made your own directory already, that’s OK - we’ll move things for you.

October 19,2008 by bfield
Written Assignment 2 answers

Are posted here

October 17,2008 by gleicher
Extra Office Hours / Help Session for Project

Blayne will hold an extra office hour today (Friday, 10/17) between 2:30-3:30.

I will stop by the Storm and Starsky&Hutch labs around 4:30 or 5:00 today (Friday) to answer questions. I can’t give an exact time because it depends on when a meeting on the other side of campus is over.

October 9,2008 by gleicher
Notes on OpenGL

This year, I’m mixing in talking about OpenGL with talking about everything else. Last year, I had a single lecture on OpenGL. My notes for it are here. Everything in those notes are things we’ve discussed, but they are organized in a different way.

October 8,2008 by bfield
Construction site framework code updated

There has been an update to the framework code. In case you made any of your own changes to the framework code, the files changed were SiteDisplay.cpp, SiteDisplay.h, ConstructionSiteWindow.cpp, Utilities/ArcBallCam.h and Utilities/ArcBallCam.cpp. Please use these versions of the code, which if you didn’t make any of your own changes, can just replace the existing framework code.

October 8,2008 by gleicher
Written Assignment

A written assignment to give you practice with transformations (due next Tuesday) is at WrittenTransforms

October 6,2008 by gleicher
Lecture Notes

I am continuing my tradition of making my notes for the lectures available to people. Look at the sidebar (to the left), or just go to Lectures. They may or may not be helpful.

October 2,2008 by gleicher
Late Policy Clarification

So the late policy for projects was based on some old notions of how the class worked. It has been clarified (I hope) to be more consistent with everything else this year.

What it means for Project 1: we will accept late assignments anytime on Friday. (if you think this is a last-minute change and messes you up, let me know. We will accept “very late” assignments until we start grading (since we won’t be doing in-person demos). We will begin grading on Tuesday morning, so don’t expect to be able to turn things in after Monday.

It seems that a law degree might have been good preparation for teaching graphics.

October 2,2008 by gleicher
Next Assignment and Project

The next assignment (due Tuesday, October 7th) is posted here. It is a practice assignment to get you ready for the next project (which is described here

September 30,2008 by gleicher
Extension because of Computer Issues

For some of you, the AFS service outage yesterday meant you lost a whole afternoon to work on the project. (and I understand that the afternoon before the due date is an important time).

We’ve decided the fair thing to do is to give everyone an extra day. So the project is now due Wednesday, October 1. Even if you weren’t affected by the service outages.

September 29,2008 by gleicher
Problems with CS File Servers

I am aware that some people are having problems with the CS File Servers. Unfortunately, CSL email isn’t working, so I can’t even ask them what’s going on!

I will hopefully be able to provide an update in the morning. I understand that having widespread computer issues the day before a project is due messes everyone up.

September 29,2008 by gleicher
Email

As many of you are probably aware, email in CS has been broken for the past few days.

So, if you’re trying to ask last minute questions about the project, you might not be able to do so.

September 29,2008 by gleicher
**Some Clarifications on the Project (P2 in particular)**

Some students have pointed out…

(1) Any implementation is doing some for of interpolation (reconstruction) and pre-filtering. Its just that the “basic” implementation (reverse warping with nearest-neighbor interpolation) is using bad filters (box for reconstruction, unit spike for pre-filter).

So the correct way to phrase the “features” would be “better filters for reconstruction and pre-filtering”. So you would need to provide better interpolation than nearest-neighbor, and better pre-filtering than nothing. (which is nominally just a really bad filter).

(2) Getting splatting right for the P2 warp requires all kinds of complex things we didn’t go into detail in class (like how to deal with splats that cover larger regions, or that only cover parts of destination pixels). Making simplifying assumptions usually leads to various forms of “aliasing” - which is OK for painting (which might be viewed as “intensional, artistic, aliasing”), but doesn’t necessarily lead to nice resamplings.

September 28,2008 by gleicher
Imaging Programming Assignment

The sample image requirements and questions for the assignment have been added.

In the event that you did your work early (and didn’t read this update until it was too late): If you turn in the assignment before Monday (e.g. it has a Sunday or earlier time stamp), you don’t need to hand in the questions or sample images.

September 27,2008 by bfield
Practice Project Feedback

Feedback for the practice project was sent out recently to your CS email account. Unfortunately, the department’s email server was having some issues at the time, so you may not have received the email. If you did not receive feedback, email Blayne and he will resend your email.

September 25,2008 by gleicher
Written Assignment 1 Answers

Are posted here

September 24,2008 by gleicher
Help Session Reminder

Since its burried below, the help session (for the imaging project, and any other questions you might have) is today (9/24) at 4:30pm in 1221.

Bring questions - I’ll try to bring answers, but if no one asks anything, this will be over quickly.

September 24,2008 by gleicher
Book is (and was) at Wendt

According to the people at Wendt Library:

The book is on 2 hour reserve behind the circulation desk. (I confirmed that it is here on the shelf). The call number is T385 S434 2005. Students need to ask staff to retrieve the book for them.

September 23,2008 by bfield
Book is available

If you do not have a copy of the book, and you need to borrow it for short amounts of time, Blayne has a copy in his office that you can stop by and borrow. Preferred times to stop by are during office hours, but feel free to stop by and see if he is around other times as well.

September 22,2008 by gleicher
Class Projects and Grading

A discussion of how the assignments and projects are going to be organized this semester is here. None of this should be a surprise, but it codifies things a bit, and makes clear how we intend to do the grading.

September 20,2008 by gleicher
Clarifications on the Written Homework

Some clarifications have been made to the written homework.

September 18,2008 by gleicher
Examples of Reconstruction Kernels

I made some examples of what the various reconstruction kernels look like on sample images and put them on Main.Upsampling.

September 18,2008 by gleicher
Convolution Endpoints Explanation

It was pointed out to me that the ways of dealing with convolution endpoints (as described in class today) isn’t in the book. (lots of stuff isn’t in the book).

And, my terminology isn’t always consistent. So, I wrote an explanation here.

September 16,2008 by gleicher
Example Program and Images for the Assignment

Simple example versions of the programs and some input and output pairs from them are available on AFS, and described at Assignments.ProgramImagingSamples.

September 15,2008 by gleicher
Everything is due on Tuesdays

There were some mistakes on the web pages (thanks for pointing that out - all should be fixed).

All assignments are due on Tuesdays (by the end of the day Tuesday - if its Wednesday morning, then its not Tuesday).

September 15,2008 by gleicher
Error in Sample Code

There is a bug in the OpenGL code for tutorial - the symptom is that it will make your image go blank after a while. We know what the problem is (and the code is needlessly complex).

We will post fixed code later (probably tonight).

The problem will be easy to explain once we’ve discussed OpenGL and transformations in class.

So, we give you your choice:

  1. You can have an extra 2 days for the OpenGL part of the assignment - it will be due on Thurdsay. (the TargaImage part is still due Tuesday)
  2. You can turn in a program that has this bug, and we’ll ignore the problem.

September 15,2008 by gleicher
Project Help Session

We’ll have a hints session on C++ programming and the Imaging Programming Assignment on Wednesday, September 24th at 4:30 in room 1221.

September 15,2008 by gleicher
Imaging Programming Assignment Posted

The initial version of the Imaging Programming Assignment (I hestitate to call it a project is posted at ProgramImaging.

While there will inevitably be some clarifications (and some things we have explicitly said we’ll post later - like the sample solutions and test data), the main parts of the assignment should not change.

September 12,2008 by gleicher
Written Assignment 1

The first written assignment (due 9/23) is here.

September 11,2008 by gleicher
Converting Image Formats

If you want to convert images formats (for example to get a TGA file if you have a PNG or JPG): most image editor/viewer programs can do this. IrfanView (which is installed on the CSL machines, and is free) can do it (open a file and use “SaveAs”). Or you can use PhotoShop.

September 11,2008 by gleicher
Clarification on P0

I’m sorry if this wasn’t clear, but:

For both parts, actually, the sample code is a complete (um, at least close to complete) and acceptable assignment. And it is acceptable (modulo providing proper attribution) to simply turn in our code, or to copy from it, or be inspired from it, or …

For this assignment, the main thing is that you’re able to get things to compile/build/… and understand what is required to read/write images and get an OpenGL window up on the screen. Soon, you’ll be writing more significant programs, so knowing how to do these basic things will be useful.

September 11,2008 by gleicher
Gamma

If you’re confused about monitor calibration and gamma, you’re not alone!

You might notice that in lecture I said gamma was the exponent for the display ( L ~= i^g ). Often they say that the “gamma curve” is i^(1/g). The idea is that if we apply the gamma curve before the display, we get linearized intensity. (so L ~= ( (i^(1/g)) ^ g) = i)

If you want to learn more about it, there are tons of resources on the web. Some that I think are particularly good:

  • Charles Poynton’s Gamma FAQ http://www.poynton.com/PDFs/GammaFAQ.pdf is an awesome resource - probably more details about video than you care about.
  • http://www.normankoren.com/makingfineprints1A.html - very detailed information for professional photographers, but has some very nice charts for evaluating how far off your gamma is. The parts you probably care about are from “Gamma and black level” up to “Setting Gamma” (the “Why Gamma” section in there is particularly good) - but you might want to read the whole thing if you’re interested in getting your monitor right.

September 11,2008 by gleicher
C++ Programming Hints / Help Session 9/15 4:45pm

From the surveys, its clear that people would like C++ programming hints sessions, and that Monday (and Wednesday) afternoons are good times for them. So…

We will have a C++ help/hint session / tutorial on Monday, September 15th, at 4:45pm in room 1221 (same as class).

Bring questions - we’ll have some things to say, but mainly we will discuss what you want to hear about it. If you are wondering about something, chances are, someone else will too.

September 9,2008 by gleicher
Error Diffusion

I got the name of the algorithm wrong again, it is Floyd-Steinberg.

And with error diffusion, you do measure the error as between the goal (initial value plus the error diffused into it) and the threshold output. The wikipedia page is a nice explanation

September 5,2008 by bfield
Programming Assignment 1 Available

Programming Assignment 1 is now available for you to work on and is due Tuesday, Sept. 16. Instructions are available BAD LINK. If you want to setup Visual Studio to work at home, make sure to contact Blayne to borrow a DVD. You can get FlTk as described in a previous announcement. Just remember that the program must compile correctly on the CS machines, so make sure to leave yourself some time to make sure your programs work properly in the lab.

September 4,2008 by gleicher
FlTk version

The version of FlTk we’re using in the CS environment is 1.1.9 (the latest stable version). We have a pre-built version of it for you here. This is exactly what is in S:\fltk-1.1.9\i386_winxp\vs8 (with a few silly demo programs removed).

If you use this on your own machine, we recommend putting it somewhere like C:\fltk. To make your program so it will compile on either your own machine or a CS lab machine, use an environment variable FLTKHOME to specify where this directory is. (a tutorial on this is coming real soon)

September 3,2008 by gleicher
History of the Pixel / Google Video of A Talk

In class tomorrow, we’ll see two different ideas of what a Pixel is. It turns out that this discussion has gone back from a long way: whether a pixel is an area or a point has been debated for a long time.

Dick Lyon (who was the director of the lab I worked at Apple) has a Computer History Museum talk called “Pixels and Me” where he explores the definition and history of the word Pixel. I’ve only watched the first few minutes so far, but this could be interesting (since Dick is always a really interesting guy).

http://video.google.com/videoplay?docid=-5655850487750051532

August 27,2008 by gleicher
Change of Room

Despite what the timetable says, CS559 will meet in 1221 CS, not over in Psychology. 1221 is a big room for a not-so-big class, but its a much better room than we were previously assigned.

August 27,2008 by gleicher
**Scaring people away?**

Sometimes, 559 seems to scare people away.

We’ve tired to bring the workload more in line with other 500 level classes, so we have been getting fewer complaints. However:

  • This class does require a combination of hacking and math
  • This class does require programming in C++, and learning that at the same time as learning graphics is hard for some people
  • Doing the projects is fun for some people, so they put a lot of time and energy into it.

The old “Should you be here” is a little out of date, and maybe overly scary.

August 26,2008 by gleicher
Google Calendar

I will be experimenting with placing important events on a Google Calendar (if you use such things). All the information will be here on the course web as well.

If you use google Calendar (or some other calendaring software), the calendar is CS559-2008

August 26,2008 by gleicher
Some things you should look at

Please read over these things:

  • Should You Be Here (note: this is a link to last year’s web. some of the things will be different)
  • C++ in 559 - an explanation of the use of C++ in this class
  • 2006 559 FAQ (note: a link to last year’s course web) - You might be asking the same things. The answers are probably similar now to what they were in previous years.

August 26,2008 by gleicher
RSS Feed

The RSS Feed for announcements is:
BAD LINK
Note: the action is “rsss” (rss + an extra s for “simple”).

The RSS Feed for all page changes (probably more than you want to know) is:
BAD LINK
Note: the action is “rss”

Page last modified on December 19, 2008, at 06:07 PM