Computer Graphics I

4003-570-01 / 4005-761-01

Assignment #1: 2D Drawing in OpenGL


Date assigned: March 20, 2008
Date due: April 3, 2008 at 11:59 p.m.


Purpose

The purpose of this programming assignment is to provide

Task

You are to write an application that cycles through several different screens. You must use the mouse to trigger the transition from one screen to the next. Your image should stay visible until the mouse is clicked. What you draw is up to you.

Your code should perform OpenGL setup and you must use each of the following primitives in some way:

You must also use each the following attributes in some way:

Try to be creative and make your images interesting.

Programming language and platform

You are free to use any programming language and platform you wish as long as OpenGL is supported.

OpenGL is available for languages such as:

The course website has useful links to help you get started with several (not all) of these languages. If you come across any useful web pages with instructions for setting up OpenGL on a given platform or general OpenGL resources, please email them to me and I will add them to the website.

A sample "Hello World" type application for OpenGL (written in C) can be found here.  Please feel free to use this as a starting point.

Platform specific OpenGL libraries should exist on each platform that supports OpenGL. In most cases, these libraries are supplied by the manufacturer of the graphics card present on your system. If you are planning on using the Suns for your project,  please make use of the following header.mak file to see the proper libraries that need to be linked and the locations of those libraries. Note that if you use makemake or gmakemake, the contents of this file will be incorporated into the Makefile produced.

"Best Of" selections from previous quarters are available for your viewing from the page http://www.cs.rit.edu/~ncs/Courses/570.shtml. You'll need to download the executables to run them. I will also demonstrate several previous submissions class.

What to submit

Please submit an executable and all files necessary to build and run your program.  This includes source files, header files, project files, and Makefiles.  In addition, the submission must include a detailed README with the following information:

Submissions should be archived (zip, tar) before submitting,

How to submit

All submissions should be made using myCourses. Look for a folder named "Programming Assignment 1" in the dropbox area.

Assessment

Your overall programming assignment grade will be based on the following: demonstration of the use of the required primitives/attributes, the complexity (how interesting) of graphical output, internal documentation, and program design.