COMP 365: computer graphics
[Spring 2009]
Computer Graphics is a vast discipline within computer science. It is also somewhat involved as it incorporates elements of data structures and algorithms as well as necessitating a good knowledge of mathematics and geometry. Although many students wish to jump straight to making animated movies, this course takes a different approach. In order to be a good computer graphics programmer, one must understand the underlying techniques, and not just call various functions and hope for the best. This course combines theory and practice; class time is split between covering the basics of various techniques along with some of the associated mathematics, and covering the more immediately practical use of OpenGL, the computer graphics API. Students will write several large programs to put theory into practice.
Syllabus(in pdf)
Assignment G6
|
Linux Resources
Getting Started with Linux - probably the best place to start.
Ultimate Guide On Linux for Beginners - useful info, but some broken links.
List of Linux HowTo's - good, if you know what you're looking for!
Don't like Linux/Unix? Go
here.
|
Handouts/In-Class Examples
-
Marvin.bmp - output from the Roland PIX-30 3D scanner.
-
project3 - sample
G3 executable showing various order piecewise splines. Note: to run this after you have downloaded it, you have to make it executable by:
chmod +x project3
-
g3.in - sample
input file for the above.
-
windows.cpp - windows/viewports example.
-
helloclass.cc - first practice program that draws a couple of polygons
-
circle.cc - sample program showing how to draw circles with OpenGL.
-
mouse.cc - program showing how to draw points and polylines with the mouse, version 1.
-
mouse2.cc - program showing how to draw points and polylines with the mouse, version 2. The difference is that all of the points/vertices are stored, allowing the
window to be redrawn whenever necessary.
-
menu.cc - teeny program showing the use of a OpenGL pop-up menu.
-
text.c - program showing some text output options.
-
perspect1.cc - an example in the use of perspective. See the comments within the program
that explain the use of glFrustum() and gluLookAt ().
-
perspect2.cc - a more involved example in the use of perspective and other
features, such as moving the camera position,
wire-frame vs. solid objects, depth testing, and fog.
-
myanimate.cc - a small example showing the basics of animation using a double-buffer.
-
natelight.c - demo program showing the use of OpenGL lighting functions.
-
shadingTex.csLab - executable (!) for Ubuntu in the csLab of the Dr Pepper bottles demo, showing the use of
lighting and flat vs. smooth shading. Note: You may have to
make this file executable after you copy it by: chmod +x shadingTex.csLab
-
mytexture.cc - demo program showing the use of OpenGL texture functions.
-
CelebDM.ppm - texture image for above program.
-
glh.h - header file needed for above program.
-
glh.c - implementation code for above header file.
|
Computer Graphics Resources
Tutors.tar.gz - a suite of tutoring programs written in C with OpenGL showing things such as
the effect of transformations,
the use of frustum() (projections), and
how to do texture mapping. Note this file must first be unzipped by use
of "gunzip".
Capone - screen shot of the projection tutor, starring Al Capone.
Demos.tar.gz - a set of demo programs written in C. Each program demonstrates
a different OpenGL/computer graphics feature. Note: Some of the
programs may be a little buggy.
Brown Exploratories - Java applets that show some computer graphics
concepts dynamically. Examples include color, texture mapping, and
lighting/shading. These are useful for understanding the theory
behind a topic before trying to write a program.
Code Samples - code samples from the OpenGL Programming Guide.
OpenGL - Home page for OpenGL, containing FAQs and searchable documentation for all your coding needs.
Color Finder - a little Java applet that lets you choose a color in Hexadecimal.
Color Picker - another page devoted to
choosing colors in Hex.
Brownian motion - an animation of Brownian motion showing molecules in a gas.
Fractals - an introductory lesson. Shows the classic Koch Curve and the Sierpinski Triangle.
The site also has a discussion of L-Systems, part of project G4.
Fun Fractals - shows images you can create starting with a fractal.
Mandelbrot
Fractal - Java applet in which one can zoom in/out of a
Mandelbrot fractal.
OpenGL Programming Guide - online version of the THE OpenGL book (v 1.1).
Drawing Geometric Objects in OpenGL
Pixar - see some clips of cutting edge
CG.
|
|
Last updated
|
|
|