Graphical Programming Fachhochschule Muenster Fall 2006
Description: An introduction to both the hardware and software utilized in computer graphics. The emphasis is on a top-down, programming approach, using a standard application programmer’s interface. Students will create three-dimensional and interactive applications, in addition to studying several of the classic, low-level, rendering algorithms.
Lecture:
Mittwoch 08:15 - 09:45 HGI-114
("downtown" Steinfurt campus)
Praktikum:
Mittwoch 10:00 - 11:30 HGI-14
("downtown" Steinfurt campus)
Instructor: Dr. Gerald Kruse
Office Phone: 0 2551 - 962 - 560
E-mail: kruse@juniata.edu
Textbook: No textbook is required for this course. Students will find the website www.opengl.org quite useful, as well as Steve Cunningham’s book, Computer Graphics: Programming, Problem Solving, and Visual Communication. The OpenGL Programming Guide, also known as the “Red Book,” is a good resource for those interested in continuing study in computer graphics. The Nate Robin’s Tutorials are available at http://www.xmission.com/~nate/tutors.html . Finally, this course is based on a course taught at Juniata College, which uses Interactive Computer Graphics, A Top-Down Approach with OpenGL, by Angel, 4th edition, ISBN 0321321375, which has corresponding PowerPoint slides 1 - 11 and 12 - 24.
Grading: Final
Project, due Monday, December 18
40 %
Exam Wednesday, December 20, 08:15
- 10:00, HGI-114 60 %
(Note: In order to be eligible to take the final,
students must successfully complete each Praktikum assignment, and each student
must register with the office of the Dekanat.)
Praktikum:
Students must attend the Praktikum and demonstrate their work, and they are
free to leave once their work is complete. Students may work with one partner
on the Praktikums.
While students should strive for completing their Praktikum during the weekly session in which it is assigned, it only needs to be complete by the final Praktikum session on Wednesday 06.Dec. Students not completing all their Praktikum assignments by this deadline will NOT be eligible to take the final exam.
Daily Schedule:
04.Oct, Wed - Introduction to course for interested students, D-250
11.Oct, Wed Lecture- Introduction to Instructor, Course, and Computer Graphics,
Raster, Frame Buffer, Scan Conversion, DDA Algorithm
11.Oct, Wed Praktikum -
18.Oct, Wed Lecture- Display, Light and Color, Pipelines, Matrices, Intro to
OpenGL, Intro to Interaction
18.Oct, Wed Praktikum -
25.Oct, Wed Lecture- Events, Hidden-Surface Removal, Double-Buffering, Intro
to Modeling, OpenGL Matrices
25.Oct, Wed Praktikum -
01.Nov, Wed - NO CLASS, Holiday
08.Nov, Wed Lecture- Viewport, Reshape, OpenGL Matrix Operations, Affine Spaces
08.Nov, Wed Praktikum -
15.Nov, Wed Lecture- Graphical Transformations and Transformation Matrices
15.Nov, Wed Praktikum -
22.Nov, Wed Lecture- Interpolation, more Double-Buffering, Color Cube, Projection,
Perspective Transformation
22.Nov, Wed Praktikum -
29.Nov, Wed Lecture- Scene Graph, Lighting and Shading, Bitmaps, Texture Mapping
29.Nov, Wed Praktikum -
06.Dec, Wed Lecture- Blending and Fog, Bezier Curves, Review
06.Dec, Wed Praktikum -
13.Dec, Wed - No Class
18.Dec, Mon- Final Project Due
20.Dec, Wed - Final Exam, HGI 114
Content:
Graphics Systems and Models
Graphics Programming
Input and Interaction
Geometric Objects and Transformations
Viewing
Shading
Implementation Issues
Scene Graphs
Discrete Techniques
Curves and Surfaces
File Types
Computing Environment:
Win 32 and UNIX, C++ with OpenGL. We’ll use the
Graphics Library User’s Toolkit (GLUT) as our window manager.
Installing GLUT on a Win 32 system running
Microsoft
VisualStudio v6.0 or earlier:
copy glut.h to C:\Microsoft
Visual Studio\VC98\Include\GL
copy glut32.lib to C:\Microsoft
Visual Studio\VC98\Lib
copy glut32.dll to C:\WINNT\system32
Installing GLUT on a Win 32 system running Microsoft
VisualStudio .NET:
copy glut.h
to C:\Program Files\Microsoft
Visual Studio .NET\Vc7\Platform SDK\include\gl
copy glut32.lib
to C:\Program Files \Microsoft Visual Studio .NET\Vc7\lib
copy glut32.dll
to C:\WINDOWS\system32
glut.h
glut32.lib
glut32.dll
HelloWorld.cpp
To create an executable XXXX for a file XXXX.cpp, at a UNIX command prompt, type:
g++ XXXX.cpp -lglut -lGL -lGLU -lXmu
-lX11 -lm -L/academic/glut/lib/glut -I/academic/glut/include
–o XXXX
You might find the following useful as a UNIX makefile. Type:
make XXXXX
where XXXXX.cpp is the program to be compiled and the following is in a file called Makefile
----------------------------------------------------------------------------------------------------------------
CC = g++
LDLIBS = -lglut -lGL -lGLU -lXmu -lX11 -lm
LDDIR = -L/academic/glut/lib/glut
INCLUDEDIR = -I/academic/glut/include
%: %.cpp
$(CC) $@.cpp $(LDLIBS) $(LDDIR) $(INCLUDEDIR) -o $@
----------------------------------------------------------------------------------------------------------------
Standard Grading Scale:
| [95% , 100%] | 1.0 |
| [90% , 95%) | 1.3 |
| [85% , 90%) | 1.7 |
| [80% , 85%) | 2.0 |
| [75% , 80%) | 2.3 |
| [70% , 75%) | 2.7 |
| [65% , 70%) | 3.0 |
| [60% , 65%) | 3.3 |
| [55% , 60%) | 3.7 |
| [50% , 55%) | 4.0 |
| [0% , 50%) | 5.0 |