Solid Modeling (Chapter 10)
Course Prerequisites
This course provides an introduction to two dimensional and three dimensional
computer graphics. In order to understand the material in this course, you
will need to have a good working knowledge of data structures such as linked
lists, trees, symbol tables, and dynamically allocated structures. You will
need to know how to implement these data structures in C or C++. This course
will also draw on knowledge of 2D and 3D geometry of vectors and coordinate
systems, and on the use of matrix algebra for coordinate transformations.
(CS308 - Data Structures, MATH182 - Calculus II)
Exams and Assignments
Grading will be based on a midterm and a final exam, homework assignments,
and a series of programming projects which will be assigned through the
semester. The exams will emphasize the ideas, principles and mathematics
behind the material covered and will not involve writing code fragments.
Project submissions will each include a code listing and a written project
description (also see how to turn in the
assignments). Programming may be done on any departmental
workstation
or on other machines accessible to the student. All programs will involve
the use of OpenGL which is available on the SGI machines in
Tompson's lab (321 LME). If you prefer to do your programming on the Sun
machines, you can use the Mesa graphics library which
s a very close emulator of OpenGL. Mesa is publicly available to those
who wish to use it on private systems (see the Mesa Home Page).
More on Mesa
The include files are located in /usr/local/include/GL,
libraries are in /usr/local/lib. The source code is in
/image/Mesa-3.0. Sample executable OpenGL programs along
their source code can be found in /image/Mesa-3.0/demos.
The source code examples of the OpenGL Programming Guide
can be found in /image/Mesa-3.0/book. I encourage you to
try the sample programs (to compile the demos in your home directory,
copy the file Make-config in your home
directory and use the following makefile.
To use OpenGL, the LD_LIBRARY_PATH environment variable must contain
the directories /usr/local/lib/X11 and /usr/openwin/lib. This can be
done with the following command, which you should add to your ~/.cshrc
file:
setenv LD_LIBRARY_PATH /usr/local/lib/X11:/usr/openwin/lib
Handouts
Department of Computer Science, University of Nevada, Reno, NV 89557
Page created and maintained by:
Dr. George Bebis
(bebis@cs.unr.edu)