Praktikum 3D-Programmierung
Prof. Andreas Butz, Sebastian Boring, Otmar Hilliges
Umfang: 2 SWS
Aktuelles
- 27.04.2006: Die Mailingliste ist eingerichtet. Unter https://tools.rz.ifi.lmu.de/mailman/listinfo/3dprakt können Sie sich jederzeit registrieren. Diese Liste ist zum Austausch untereinander bestimmt.
- 03.05.2006: Die Besprechungen finden ab sofort im kleinen Seminarraum (Raum 107) in der Amalienstr. statt.
Termine und Ort
- Wöchentliche Besprechung: Donnerstag, 10:15 - 11:45
Ort: Amalienstr. 17, Raum 107
erster Termin: 27. April 2006 - Programmierberatung: Steht noch nicht fest (wird voraussichtlich in der 1. Veranstaltung bekannt gegeben)
Inhalt
- Thema: 3D Programmierung (nicht Modellierung) in C++ und OpenGL
- Programmiersprache: C++/OpenGL
- Ziele: Einführung in die Grundlagen der Programmierung in C++ und OpenGL
- Voraussetzungen: Verstädniss der Konzepte Objektorientierter Programmierung
- Teilnehmerzahl: 15
- Ablauf: selbständige Bearbeitung in Gruppen (2-3 Personen) unter der Woche, wöchentliche Treffen zur Präsentation und Besprechung.
In dem Praktikum werden die Grundzüge der Sprache C++ behandelt. Dabei setzten wir Kenntnisse in Objektorientierter Programmierung (z.B. Java) vorraus. Darüber hinaus werden wir uns mit der Programmierung von 3 dimensionalen Computergrafiken beschäftigen. Der Schwerpunkt liegt dabei auf OpneGL.
Zu Beginn liegt der Fokus auf der Programmiersprache C++ mit ihren Konzepten. Es werden v.a. Unterschiede zu Java herausgearbeitet, z.B. die Pointer (Call by Reference) oder die Destruktion (das Zerstören) von nicht mehr benötigten Objekten. Im Anschluss wird das GLUT (OpenGL Utility Toolkit) vorgestellt, mit dem es möglich ist, ein Fenster mit allen üblichen Funktionen (Maus- und Tastatur-Eingabe) zu erzeugen. Die Wahl fiel heir auf GLUT, da es (wie OpenGL) plattformunabhängig ist. Bei dieser Einführung wird unter anderem auch das Konzept der Callback-Methoden besprochen.
Nach den Grundlagen steigen wir in OpenGL ein und behandeln viele Aspekte dieser 3D Bibliothek. Wir beginning zunächst mit den Einstellungen die für OpenGL (bzw. eine 3-dimensionale Szene) berücksichtigt werden müssen. Dies beinhaltet vor allem die Kamera-Parameter, die hier erläutert werden. Danach starten wir mit einfachen 2D Objekten und ihren Transformationen und wenden dies dann nach gleichem Schema auf 3D Objekte an. Hierzu gehört unter anderem auch das Verständnis der Mathematik, d.h. der Transformationsmatrizen. Darauf aufbauend werden die Methoden der Färbungm, Texturierung (auch Bump-Mapping) und des Blendings von Objekten angesprochen. Im Anschluss daran werden Lichtquellen, Schatten, Spiegelungen und Nebel behandelt. Den Abschluss der Theorie bilden Partikelsysteme und Kollisionserkennung von Objekten.
Im Anschluss sollen nun Projekte in kleineren Gruppen durchgeführt werden, die den Studenten ermöglichen, alle erlernten Methoden und Konzepte der 3D-Programmierung mit OpenGL anzuwenden. Diese Projekte sollen größtenteils von uns vorgegeben werden, können aber in Absprache mit den Studenten verändert werden.
Für Studierende der Medieninformatik im Hauptstudium
Erwartete Vorkenntnisse: Vordiplom in Medieninformatik