Tutorials 3D programming

The content on this page was translated automatically.

Creation of tutorials for 3D programming

Sponsored by the e-Learning Project Competition of the University of Kassel. Further information about the project competition can be found on the pages of the Multimedia Kommision.

The ProblemIn the context of the lectures Computer Graphics I and II, knowledge from the areas of graphic algorithms and the development of graphic simulations using OpenGL is taught. At first, students are overwhelmed with the multitude of OpenGL commands and the used, partly very abstract data types. The effects of some parameters are very difficult to explain theoretically and can only be understood by trying them out. Conventional testing of self-created programs is out of the question, because the time difference between "cause" (i.e. the change in the program code) and "effect" is too large due to the constantly new generation of the programs. The solution: Certain partial aspects of OpenGL can first be tried out interactively in a graphical simulation. Thereby the students have both the responsible program section in front of their eyes and the immediate result of the changes:

Realization of the learning modules
The learning modules are based on Nate Robins' modules, which are freely available on the Internet, and were realized by students of the Department of Electrical Engineering/Computer Science. The new modules cover topics that were not covered by the existing modules:
- 2 dimensional transformations with display of the transformation matrix
- Clipping
- 3 dimensional OpenGL Primitives
- OpenGL Blending Effects
- Scene Graphs (using SGI Performer as an example)

2D Transformation
This tutorial allows a user to interactively understand how the basic transformations Translation, Rotation and Scaling work, as well as their effects on the transformation matrix.

Clipping
This interactive tutorial visualizes how the Cohen-Sutherland clipping algorithm works. By 'clipping' is meant the 'cutting off' of graphical elements that are, for example, outside the viewer's current field of view. The user can define lines and follow how the algorithm works.