Labs are mandatory. You may prepare them in other time and place, but your results should be demonstrated at ordinary lab time. So if you plan to do the labs at home, sign up for at least one lab and demonstrate them all there - and be ready to do corrections. It is common that such "homework" has a couple of minsunderstandings that the lab assistant will sort out for you.
All labs are programming labs done in C. (We are, however, working on some alternative paths.)
We work under CentOS. This is a Linux distribution which is pretty
nice. We expect that most of you will compile and run from the
command-line, but if you prefer an IDE like Kdevelop (which is
available in the lab) or even work on another OS, we will not stop
you, as long as you can show us the source-code and demonstrate the
results. And of course, working on your own laptops is perfectly fine and we will do what we can to support you.
Linux users should work just as if they used the lab computers. Mac
users have several options, command-line, Xcode, or an experimental
educational environment that I very much would like your feedback
on(see lab 1). We will also support Microsoft users, where Umapathi is
the expert. (I plan to upload an example project ASAP.)
Most of the lab material is not yet available for 2012! All labs are being revised for OpenGL 3.2 which will change both the contents and the support material.
Here are links to the lab material for each lab (2012 version):
Lab 3: Virtual world, specular shading, multitexturing
Lab 4: Terrain rendering
Lab 3 and 4 labs are at two separate occasions, tuesday and thursday. Thursday's are popular so for that you must reserve a seat or you can not do it in Olympen. For tuesdays, it will work anyway, but we appriciate if you note your planned presence since it helps us to plan.
The labs are slightly overbooked so we can't quite fit all students
that are signed up for the course.
However, I expect this problem to solve itself since some students will
work on
their own computers and will not need to be in the labs all the time.
The first lab showed this to be true, it wasn't a big problem.
Deadline for labs: There are extra lab sessions. Officially, when
the labs finish is the deadline. There may take some time until there
is another opportunity to demonstrate your results (some time in
VT2) but after the lab ends, your chance to get assistance is highly limited.
For Mac users, there is a special package here:
lab1mac.zip
This package is intended for the Lightweight IDE, which is at this time
Mac only (regrettably). You need no makefile. When moving to the next
assignment, just copy the source file, and duplicate the Resources
folder to match it. (You don't have to rename shaders at all, since
they simply follow the resourses folder.) So when moving from 1 to 2,
make a copy of lab1-1.c to lab1-2c, and lab1-1 Resources to lab1-2
Resources. (And if you have any problems about the IDE, ask me.)
You need to use MacOSX 10.7, with Xcode installed. This (so far
unofficial) version of Lightweight IDE fixes a bug in drag-and-drop
under Lion:
Included is also MicroGlut, a simple GLUT replacement since GLUT isn't updated for 3.2. Some calls are missing at this time. It should also be possible to use FreeGLUT but that requires and extra installation.
Here are links to the lab material for each lab (2011 version):
Lab 1: Introduction to OpenGL (old version)
Lab 2: A simple virtual world in OpenGL (old version)
Lab 3: Shader programming in OpenGL
If you took the course earlier years, you can find the labs from 2007 and 2006 on the old course page.