CS 2102 Lab Hours are 8a-8p M-Th; 8a-4:30p on F
Read Chpt 1: Intro to Graphics and Graphics Systems. We mentioned 3D printers and you may be interested in the following sites for more information (RepRap, Mad Scientist).
Read Chpt 2: Graphics
programming and the OpenGL api.
We discussed an OpenGL jogl jsr231 example in class. Our example
uses 3
classes. JOGLPlainMain acts as a main class which sets up a fairly
generic interface. JOGLEventListener implements the basics of a
GLEventListener and DrawListener provides most of the custom behavior
of the application. These files are bundled together
in this zip file. The file also includes a
build.xml file to compile and run the example (instructions are here). If you come
across pre jsr231 jogl code, this posting gives some experiences about migrating
from jogl 1.1.1 to jsr231.
An example of the same application implemented using C and GLUT is
in the file draw.c.
You may find Angel's
instructions on using Visual C++ with OpenGL/Glut useful. If
developing with GLUT under Linux you should use a makefile.
Lab 1: Simple OpenGL 2D Graphics
was assigned (Sept. 5). It is due on Friday Sept. 14.
Read Chpt 3: Interaction,
logical & physical devices, event processing. Display lists,
graphics client/server.
Lab 2: Interactive Visualization of a 2D
Pinhole/Synthetic Camera
was assigned (Sept. 14). It is due on Friday Sept. 28.
Read about transforms in Chpt 4. We
are only looking at 2D transforms for the moment. We discussed how
transforms can be represented with matrices and combined together.
Homework 1 was assigned (Sept. 19). It is due on Wed, Sept. 26.
Exam 1 will be on Mon,
Oct 1. We will review for the exam on Fri, Sept. 28
Hierarchical modeling - example of 3 of hearts playing card. Transforms in OpenGL. Robot Arm example. Picking using different methods. An extension of the robot illustrated how picking with OpenGL SELECT mode could be done. We also discussed how to determine if a polygon is convex, tessellation and winding numbers.
Lab 3: Picking, 2D Hierarchical Modeling
was assigned (Oct. 8). It is due on Wed, Oct. 24.
Read about 3D transforms in Chpt 4.
Transforms are extended to 3D. The biggest complication is rotation as
now we must specify which axis to rotate about. Rotations about the 3
primary axes can be used to form a rotation about an arbitrary axis.
Quaternions can also
be used to do aribitrary 3D rotations (see text sec 4.12)
Chapter 5 of the text
covers positioning the camera and projections. (gluLookAt,
gluPerspective,
glOrtho,
glFrustrum
etc.)
Lab 3: Picking, 2D Hierarchical Modeling
due date was extended to Mon, Oct 29.
Homework 2 was assigned (Oct. 22). It is due on Mon, Oct. 29.
Read sections 7.3-6 about clipping (region codes, line clipping, polygon clipping, bounding extents and other primitives)
Read about Clipping (region codes, line clipping, polygon clipping, bounding extents and other primitives) in sections 7.3-6
Lab 4: 3D Modeling & Viewing with
texture and viewports
due date Mon, Nov 12. (may work in pairs).
Exam 2 will be on Wed,
Nov. 7.
Raytracing and
Constructive Solid Geometry (Sec 12.2-12.3.1, 10.10.1)
Lab 5: Creating an Animated Movie
due start of class, Friday Dec. 7 (Movie Demo Day!)
| Class meets in the CS Conference Room (Faner 2127) on Monday Nov. 26. |
| Class meets in the CS Computer Lab (Faner 2102) on Friday,
Dec. 7 for Movie Day. All Lab 5 materials should be ready to demo at
this time. Each group should should submit a CD with all their
materials. An "index.html" webpage should enable linking to write-up
material and allow playing the movie. |
Exam 3 will be given
during finals week: Wed, Dec.
12 at 8:15am in our regular classroom. This exam will emphasize topics covered
since exam 2 (Starting with Raytracing and CSG.)