Institut für Informatik | Sitemap | LMU-Portal
English
  • Startseite
  • Studieninteressierte
  • Studierende
  • Lehrveranstaltungen
    • Archiv
    • SS 2008
      • 3DCG
      • 3DP
      • AKF
      • HS
      • MMI2
      • MMP
      • MT
      • OS
      • PEM
      • PMG
  • Forschung
  • Personen
  • Kontakt
  • Besucher
  • Jobs
  • FAQ
  • Intern
3DP in anderen Semestern:
SS08 SS07 SS06
Startseite > Lehrveranstaltungen > SS 2008 > 3DP

Praktikum 3D-Programmierung

Campus-Webinfo
Forum
iCal Kalender

Dozent: Prof. Butz
Betreueung: Otmar Hilliges
Umfang: 2 SWS
ECTS-Credits: für diese Veranstaltung nicht festgelegt

  • Aktuelles
  • Termine und Ort
  • Anmeldung
  • Inhalte
  • Aufgaben
  • Voraussetzungen
  • Literatur

Aktuelles

  • Die ProjektWikiSeite ist online.
  • Die Anmeldung für das Praktikum ist beendet.
  • Der erste Termin des Praktikums ist der 25. April.
  • Die Liste der Teilnehmer ist online: vergebene plätze

Termine und Ort

  • Vorlesung: Freitag 10-12 Uhr
  • Ort: Amalienstraße 17, Raum A 105

Anmeldung

Eine Anmeldung ist nicht mehr möglich. Alle Plätze sind bereits vergeben.

Inhalte

  • Thema: 3D Programmierung (nicht Modellierung) in C++ und OpenGL
  • Programmiersprache: C++/OpenGL

Die Programmiersprache C++ ist auf dem Gebiet der interaktiven Computergrafik die am häufigsten verwendete Alternative. In diesem Programmierpraktikum wird grundlegendes Wissen zur Programmierung mit C++ vermittelt. Darüber hinaus werden wir uns mit der Programmierung von 3D Computergrafiken beschäftigen. Zur effizienten Darstellung von 3D Inhalten wird OpenGL verwendet. Für die Bearbeitung und Implementierungen werden Teams zu je zwei bis drei Personen gebildet. Das Programmierpraktikum ist in zwei Abschnitte unterteilt. Im ersten Abschnitt werden grundlegende Konzepte behandelt. Themen sind u.a.

  • C++ Compiler, Linker/Einbinden von Bibliotheken, Debuggen
  • Präprozessor, Objektorientierung, Pointer, Felder und Strukturen, Standard Template Library
  • Grundlagen der 3D Computergrafik
  • Grundlagen von OpenGL, GUIs mit GLUT, Texturierung, Beleuchtung, Shaderprogrammierung

Wir beginnen 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ärbung, Texturierung und des Blendings von Objekten angesprochen. Im Anschluss daran werden Lichtquellen, Schatten, Spiegelungen und Nebel behandelt. Den Abschluss der Theorie bilden Kollisionserkennung von Objekten und Partikelsysteme.

Im zweiten Abschnitt des Praktikums wird sukzessive eine komplexere Aufgabenstellung (z.B. kleines interaktives Spiel) erarbeitet. Die hierfür benötigten Programmiertechniken bauen auf den in Abschnitt eins des Systementwicklungsprojekts erarbeitet Techniken auf.

Aufgaben

Termin Beschreibung Folien Aufgabe Tipps
25.04.2008 Einführung: Header- u. Source files, Präprozessor, Compiler, Linker
Standard I/O
PDF, 222KB Blatt 1
Merkblatt zu SVN
C++ reference: cstdio
02.05.2008 Klassen, Objekte, Vererbung PDF, 201KB Blatt 2
09.05.2008 Fenster mit GLUT, OpenGL Basics PDF, 303KB Blatt 3
GLUT Specs
GLUT Tutorials
OpenGL - GLUT for Win32
16.05.2008 Mathematische Grundlagen der 3D Computergraphik
Beleuchtung in OpenGL
PDF, 265KB Blatt 4
OpenGL Referenz (RedBook) Online
NeHe OpenGL Tutorials
23.05.2008 Szenegraphen, Texturen und Displaylisten PDF, 266KB Texture.h
Texturen
30.05.2008 Pixel basierte Effekte:
Bump-Mapping, Height-Mapping
PDF, 409KB Blatt 5
PPT Vorlage
Per-Pixel Operations Tutorial
Simple Bump-Mapping
Height-Maps für Landschaften
12.06.2008 Kollisionserkennung und Physik Simulation PDF, 166KB NeHe Tutorial 30
Bsp. mit Code
20.06.2008 Partikelsysteme, Multipass Rendering PDF, 313KB NeHe particle system Tutorial
Advanced techniques (ps)
FBO 101
27.07.2008 OpenGL Shader Language (GLSL) PDF, 212KB Lighthouse 3D Shading Tutorial
Tutorial GLSL - DGL Wiki
Nehe Shader Tutorial
04.07.2008 Stencil Operationen PDF, 345KB 3D Concept Stencil Buffer

Voraussetzungen

  • Hohe Motivation. Kann evtl. alle nachfolgenden Punkte Ersetzen.
  • Programmiererfahrung in mindestens einer Objekt-Orientierten Programmiersprache (z.B. Java)
  • Grundkenntnisse in linearer Algebra z.B. Transitionen und Translationen(aus dem Grundstudium)
  • Grundkenntnisse im Software Engineering und Projektmanagement/Selbstorganisation

Für Studierende der Medieninformatik im Hauptstudium
Erwartete Vorkenntnisse: Vordiplom in Medieninformatik

Literatur

  • Jesse Liberty, C++ in 21 Tagen. Schritt für Schritt zum Programmierprofi, Eine Einführung in C++ aufgegliedert in ein 21-tägiges Programm. Nach diesen 21 Tagen sollte man die grundsätzlichen Konzepte und Paradigmen von C++ verstanden haben.
  • Bjarne Stroustrup, The C++ Programming Language, Das C++-Buch, der Autor ist der Begründer dieser Programmiersprache.
  • Dave Shreiner, Mason Woo, Jackie Neider, OpenGL Programming Guide, 'The Red Book' kann auch hier eingesehen werden. Grundlegendes Buch für die Open Graphics Library.
  • H.J. Bungartz, M. Griebel, C. Zenger, Einführung in die Computergraphik
Nach oben
Impressum – Datenschutz – Kontakt  |  Letzte Änderung am 04.07.2008 von Otmar Hilliges (rev 4384)