Universität Bielefeld
- Technische Fakultät
- Artificial Intelligence Group
Echtzeit 3-D Computergrafik - VR
Vorlesung im Hauptstudium, Wintersemester 2003/2004
Beleg-Nr.: 392110
Beginn: 15.10.2003
Termin/Ort: Mittwoch 14-16 H16
Veranstalter: Marc Erich Latoschik
Voraussetzungen/Vorkenntnisse:
Kenntnisse in
* Linearer Algebra (Basiswissen)
* Programmierung in C++(C),
* Konzepten des funktionalen Programmierens (Haskell, Scheme, LISP, etc.),
* Grundlagen der Computergraphik (s. Vorlesung)
oder Bereitschaft zur Einarbeitung in diese Themen.
Inhalt/Kommentar:
Dieses Vorlesung gibt eine praxisnahe Einführung in Programmiertechniken für interaktive Virtual-Reality Anwendungen. Dabei wird Wissen über grundlegende Konzepte der VR-Programmierung vermittelt, etwa zur Modellierung und Animation virtueller Szenen mit speziellen Komponenten für Szenengraphbasierte Schnittstellen, zu verschiedenen View-Spezifikationen für passive und aktive (benutzer-zentrierte stereoskopische) Projektionen und zur Einbindung benötigter Funktionen in den Simulations- und Visualisierungsprozess. Zusätzlich werden verschiedene Interaktionsmöglichkeiten mit und in den virtuellen Szenen behandelt. Beispiele der vermittelten Konzepte basieren auf den APIs OpenGL, VRML97, Open Inventor und Performer bzw. der VR-Plattform AVANGO (GMD).
Begleitende Übungen setzen das Erlernte praxisnah um. Die Entwicklung und Erprobung erfolgt wenn möglich auf handelsüblichen Grafikrechnern oder - mit begrenzter Teilnehmerkapazität - auf den Grafikworkstations im VR-Labor der AG WBS auf M4 und den dort vorhandenen Großbildprojektionssystemen und Spezialgeräten. Als Programmiersprachen werden C/C++ und Scheme Anwendung finden.
Hier ist die Gruppenverteilung.
Hier sind die Organisationsfolien.
02 Basics
03 OpenGL Introduction
04 Line Processing
05 Polygons and geometry in OpenGL
06 Basic math, transformations
07 Viewing, projection
08 Appearance
09 Appearance, bitmaps and textures
10 OpenGL Performer
incoming later
Der späteste Abgabezeitpunkt ist jeweils in Klammern angegeben.
Blatt 1 (30.10.2003)
Blatt 2 (06.11.2003)
Blatt 3 (13.11.2003)
Blatt 4 (26.11.2003)
Blatt 5 (03.12.2003)
Blatt 6 (07.01.2004)
Blatt 7 (21.01.2004)
Blatt 8 (4.02.2004)
Volumes, Verzeichnisse & Dateinamen
Zur Bearbeitung der Programmieraufgaben ist das Volume
/vol/vlvrprog bereitgestellt. Jede Übungsgruppe verwendet in
/vol/vlvrprog/Gruppe X ein Unterverzeichnis, die Zuordnung der
Teilnehmer zu den Gruppen ist
hier vermerkt. Bitte den
Quellcode ausschließlich im Gruppenverzeichnis ablegen,
Benennung einer Datei/Aufgabe so, daß Übungsblatt
und Aufgabennummer aus dem Namen hervorgehen, z.B. Blatt2_2.C
o.ä. Bitte darauf achten, daß die Dateien immer
gruppenlesbar sind.
Quellcode compilieren
Für das Compilieren des Quellcodes wird make benutzt.
Ein Makefile wird unter /vol/vlvrprog/Pub/makefile bereitgestellt. Jeweils
in das Aufgabenverzeichnis kopieren.
Der Aufruf zum compilieren lautet:
make [Name der Quelldatei OHNE .C Endung]
Beispiel:
juser@beo make Blatt2_2
Dieser Aufruf erzeugt das fertige Programm, das dann direkt
aufgerufen werden kann:
juser@beo Blatt2_2 &
- Introduction to Computer Graphics; James Foley , Andries van Dam , Steven Feiner , John Hughes , Richard Phillips (1994)
3D Computer Graphics; Alan Watt (2000)
- Advanced Animation and Rendering Techniques: Theory and Practice; Alan Watt , Mark Watt (1992)
- Computer Graphics and Virtual Environments; Slater, Steed & Chrysanthou (2001)
- Computer Graphics: First Mathematical Steps; Pat Egerton, Teesside University
- Computer Graphics Using Open GL; Francis S. Hill Jr
- OpenGL Reference Manual: The Official Reference Document to OpenGL, Version 1.2; OpenGL Architecture Review Board (2000)
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2; OpenGL Architecture Review Board , Mason Woo , Jackie Neider , Tom Davis , Dave Shreiner (1999)
- Interactive Computer Graphics: A Top-Down Approach with OpenGL; Edward Angel (2002)
- OpenGL: A Primer; Edward Angel (2002)
- The Annotated VRML 2.0 Reference; Rikk Carey , Gavin Bell (1997)
- VRML 2.0 Handbook, The: Building Moving Worlds on the Web; Jed Hartman , Josie Wernecke , Silicon Graphics (1996)
- Inventor Mentor, The: Programming Object-Oriented 3D Graphics with Open Inventor, Release 2; Josie Wernecke , Open Inventor Architecture Group (1994)
- Inventor Toolmaker, The: Extending Open Inventor, Release 2; Josie Wernecke , Open Inventor Architecture Group (1994)
- 3D Games: Volume I: Real-Time Rendering and Software Technology; Alan Watt , Fabio Policarpo (2001)
- 3D Game Engine Design; David H. Eberly
- C++ Standard Library, The: A Tutorial and Reference -- 1999; Nicolai Josuttis
- The Scheme programming language; Dybvig, R. Kent
- Programming in Scheme; Eisenberg, Michael
Marc Erich Latoschik,
Peter Bierman
27.10.2003