Homework Ideas

The students really struggle with programming in this course. Some simple (1 class turn around) homeworks may help to build their scenegraph repertoire, give them greater understanding of the concepts and provide a framework to test out ideas. The first one though is to get some decent backgounds and then forbid the students from ever showing me a black background!

  1. Write a set of shaders to produce pleasing backdrops. These will (or should) be extended as you progress through the course to use a texture. Recall that OpenGL Normalized Device Coordinates range from (-1,-1,0) -> (1,1,1). There is also no requirement that you use the modelview or the projection matrices in your shaders. Probably not the best software engineering, but may make things easier. Suggested shaders include:
  2. Create a DebugRenderVisitor that checks for any glError's after each draw, apply, etc., and then prints out an error messages or throws an exception.
  3. Create a simple program that reads in an image, creates a texture and draws a full-screen quad of the texture using a shader. Play with some image-based operators, such as darkening and desaturating.
  4. Create a simple program based on #2 that creates an FBO, draws a full-screen texture to the FBO and then draws the FBO's texture to the screen using #2 above (again). In other words, it copies a texture using an FBO and full-screen quads.
  5. Create an FBO that does not clear the color channel and write a simple 2D Paint program.
  6. Create a simple program that reads in a OBJ file and displays it as wireframe in texture space.