The goal of this assignment is to make sure everyone is on the same page with respect to a background knowledge of OpenGL. If you have experience programming OpenGL applications, this assignment should be very easy for you. If you've never done any OpenGL programming, this assignment will cover the basics of standard real-time graphics, and show you what you need to be able to do as a base for the rest of this quarter. We will not be asking you to turn in this assignment, and you will not be given a grade for it - it is optional. If you don't need the practice, don't worry about it, but if you're rusty or you're looking to sit down with the OpenGL Reference Guide and learn, it's a good introduction. Use this assignment to request help from us. If you have no idea how to get started with this, please contact the reader/instructor and we will point you to some starting demos of OpenGL code.
The assignment is to create an interactive robot arm application. The user should be presented with an 'arm' consisting of a series of joints and links (rendered as boxes or cylinders is fine). Interaction will consist of manipulating the joint angles with the keyboard, and moving a light source around the scene with a mouse. Use GLUT for the window and event management. The steps for the rendering are:
The interaction you should implement is:
A few notes for OpenGL programming on CSIL.
An example GLUT application that sets up a basic OpenGL window, registers event handlers, and draws a very simple scene, is available for reference.
You do not need to submit this homework assignment.