
UE Einführung in die Computergraphik
WS 2.0 h (3 ECTS), 186.832
Werner Purgathofer, Michael Wimmer
Quicklinks:
Aktuelles
Diese Lehrveranstaltung findet wieder im Wintersemester 2013 statt. Informationen dazu finden sich rechtzeitig an dieser Stelle.
Laborbetreuung
Allgemeine Informationen
Inhalt:
Die Übung Einführung in die Computergrafik dient dazu, die im Computergrafik-Teil der VU Einführung in Visual Computing vorgestellten Konzepte praktisch anzuwenden und zu vertiefen.
In der Laborübung sollen sechs aufeinander aufbauende Programmieraufgaben gelöst werden. Dabei werden folgende Themen behandelt:
- Linien zeichnen (line rasterizer).
- 2D/3D Objekt Transformationen.
- Polygon Begrenzung (polygon clipping).
- Virtuelle Kameras, Transformationszusammensetzung und Projektionen. (viewing pipeline, Z-buffer).
- Flächen zeichnen (fill rasterizer).
- Beleuchtung und Schattierung von Flächen (phong & gouraud shading, lambert & phong illumination).
- Texturierung
Durch das sukzessive Lösen der Beispiele wird der Renderer eines simplen, aber komplett interaktiven 3D Viewers vervollständigt. Übungsziel ist es, einen Überblick über die verschiedenen Komponenten eines solchen Systems zu gewinnen, und ihr Zusammenspiel an einem selbst programmierten Exemplar zu erproben. Das Rendering-System bietet zahlreiche Parametern, die in dem Tool interaktiv manipuliert werden können. Dadurch wird das Verständnis für viele Themen der Vorlesung stark verbessert.
Mehr Informationen zu dem Tool und der Übung sind im ECG-Wiki online gestellt, und werden auch in der LU-Vorbesprechung vorgetragen.
Übungsmodus:
Zu allen 6 oben erwähnten Bereichen sollen im Laufe des Semesters nacheinander Programmieraufgaben in einem vorgegebenen Programmgerüst in Java gelöst werden. (die in der VU "Grundlagen der Programmkonstruktion" erworbenen Kenntnisse sollten dafür ausreichen) Die im Zuge dieser Arbeit entstandenen Source-Dateien werden nach dem Ende jeder Aufgabe abgegeben. Die Bewertung findet in zwei Abgabegesprächen statt.Die Laborübung sollen auf dem eigenen Computer gelöst werden, es gibt daher keine Anwesenheitstermine außer den Abgabegesprächen. Es sollte auch möglich sein, die Übungsaufgaben in den Benutzerräumen zu lösen. Falls es diesbezüglich Probleme geben, kontaktieren Sie uns bitte.
An- und Abmeldung:
Die Anmeldung zur Laborübung findet durch die Abgabe des 1. Beispiels statt. Dafür ist es notwendig sich im TISS für diese Lehrveranstaltung anzumelden (186.832)
Eine Abmeldung von der Lehrveranstaltung ist nicht notwendig. Jeder der das erste Beispiel abgibt bekommt auch ein Zeugnis ausgestellt.
Abgabe der Übungsbeispiele:
Alle Abgaben finden über das ECG-Abgabesystem im Web statt. Nach der erstmaligen Anmeldung hat man dort die Möglichkeit, das jeweilige Beispiel abzugeben (und im Abgabezeitraum auch zu überschreiben).
Nach der Abgabe wird das Beispiel automatisch kompiliert, und man bekommt das Ergebnis per E-Mail zugestellt. Dies kann, je nach Auslastung des Abgabesystems einige Minuten dauern.
Es gibt keine Ergebnisse der Abgaben, die Beispiele werden erst in den Abgabegesprächen bewertet. Für eine positive Note müssen aber zumindest 5 von den 6 Beispielen abgegeben werden.
Die Abgabe wird automatisch kompiliert, man sollte sich aber auch vergewissern, welche Dateien wirklich auf dem Abgaberechner gelandet sind! Bei Problemen meldet euch bitte vor dem Abgabetermin per mail, ansonsten können wir eine verspätete Abgabe nicht akzeptieren. Eine Abgabe nach der Veröffentlichung der Musterlösung (jeweils 2 Tage nach der Abgabe) ist natürlich nicht mehr möglich.
Bis zum Abgabetermin kann man ein Beispiel beliebig oft hochladen. Es gilt immer die zuletzt hochgeladene Version.
Repetitorium:
Vor der Abgabe des Beispiels 3 (Termin siehe oben) gibt es ein Repetitorium, wo ein paar Dinge erklärt werden und auf alle möglichen Fragen eingegangen wird (auch in Einzelbetreuung!).
Abgabegespräche:
Die Bewertung der abgegebenen Beispiele wird in 2 Abgabegesprächen bei den Assistenten des Instituts durchgeführt; es gibt keine schriftlichen Übungstests. Die Abgabegespräche finden an einigen Tagen während der 2 Wochen, die dem Abgabetermin von Beispiel 3 bzw. 6 folgen, statt. Die genauen Termine erfahrt ihr, sobald ihr euch über das Abgabesystem anmelden könnt, jeweils 7 Tage vor dem Abgabetermin von Beispiel 3 bzw. 6 (wer sich früh anmeldet, hat mehr Termine zur Auswahl, und die Anmeldefrist wird relativ kurz sein).
Zum Abgabegespräch mitzubringen sind ein gültiger Studentenausweis. Wahlweise kann man auch die von einem selbst verfaßten Teile des Source-Codes in ausgedruckter Form mitbringen, das kann die Navigation im Code erleichtern, der Prüfer muß aber nicht darauf eingehen.
Inhalt des Gesprächs sind die selbst programmierten Beispiele, sowie ein genaues Verständnis der Algorithmen und theoretischen Grundlagen auf denen sie beruhen (nur das Verständnis des Code reicht also nicht aus!).
Die Punkte, die man auf ein Abgabegespräch bekommen hat, kann man dann am nächsten Tag im Abgabesystem nachsehen.
Benotung:
Die Punkteaufteilung für die Beispiele sieht folgendermaßen aus:| Beispiel | Punkte |
| 1 | 6 |
| 2 | 8 |
| 3 | 14 |
| 4 | 12 |
| 5 | 12 |
| 6 | 8 |
Die Endnote ergibt sich dann nach folgendem Notenschlüssel:
| Punkte | Note |
| >= 54 | 1 |
| >= 47 | 2 |
| >= 38 | 3 |
| >= 30 | 4 |
| sonst | 5 |
Kommunikation:
Jeder Teilnehmer sollte die LVA im TISS zu den eigenen LVA-Favoriten hinzufügen. Außerdem sollte die E-Mail Benachrichtigung von LVA News in der entsprechenden LVA-Kategorie im TISS aktiviert sein. Informationen über die Laborübung werden auf dieser Webpage kundgetan, worüber ihr dann automatisch über TISS per mail informiert werdet.In den Wochen vor jedem Abgabetermin stehen an zwei Tagen Tutoren zur persönlichen Betreuung von Studenten zur Verfügung. Dabei können theoretische Verständnisprobleme oder Schwierigkeiten beim Programmieren gemeinsam besprochen werden. Eine Anmeldung ist nicht notwendig. Die Betreuung findet im Vislab am Institut für Computergraphik statt. Dieser Raum ist auf diesem Lageplan links unten als 186200 VISLAB zu finden. Die genauen Termine für die Laborbetreuung werden noch bekanntgegeben.
Als Kommunikationsplattform für die Laborübungsteilnehmer untereinander hat sich die ECG-Gruppe im Informatikforum sehr bewährt, wo auch regelmäßig unsere Tutoren zu Eurer Verfügung stehen.
Kurzfristige dringende Neuigkeiten werden als TISS News angkündigt.
Achtung: Dass im Informatik-Forum kein Source-Code gepostet wird stellt für uns eine Grundbedingung für den aktuellen Modus der Lehrveranstaltung dar. Sollte sich jemand nachhaltig nicht daran halten, dann schadet er im Effekt allen anderen Übungsteilnehmern, weil wir dann einerseits die Betreuung im Forum einstellen müssten als auch den Modus der Abgabegespräche entsprechend verschärfen.
Unterlagen:
Als Unterlage dient das online-Skriptum von VU Einführung in Visual Computing.
Das Programmgerüst:
Das Programmgerüst ist vollständig in Java geschrieben, und besteht aus zwei Teilen: im ersten Teil werden im Zuge der einzelnen Beispiele Ergänzungen vorgenommen. Das betrifft Komponenten, die für das Rendering, simple lineare Algebra und das Datenmodell der Szene verantwortlich sind. Die zu verändernden Codestellen sind in der Angabe markiert, und eine Übersicht dieser Stellen findet sich in Dokumentation zum Programmgerüst. Der zweite Teil beinhaltet die grafische Benutzeroberfläche, Datenanbindung und mehr. Dieser ist von uns implementiert und muss nicht verändert werden.
Das Programmgerüst ist im Wiki vollständig dokumentiert und kann auch von dort heruntergeladen werden.
Wir haben Musterlösungen zu den Beispielen vorbereitet, die man immer 48h nach dem vorhergehenden Abgabetermin herunterladen kann. Die Musterlösungen dienen einerseits der Kontrolle, andererseits erlauben sie auch, von einer richtigen Lösung für die Implementierung des nächstens Beispiels auszugehen, selbst wenn man beim vorigen Beispiel nicht alles richtig hat. Wer möchte, kann von der 1. Beispielangabe weg mit dem Programmgerüst selbständig alle Beispiele programmieren (auf diese Weise kann man schon vorausarbeiten). Man kann aber auch nach jedem Beispiel von der Musterlösung zum vorigen Beispiel aus weiterprogrammieren (auf diese Weise ist man auf der sicheren Seite).
Abgabetermine:
Hier findet sich eine Übersicht über die Abgabetermine für die einzelnen Beispiele. Die 6 Aufgabenstellungen sind genau im Wiki beschrieben.
| Beispiel... | Abzugeben bis (jeweils 23:42 Uhr) | ||
| Beispiel 1 | Line drawing | 12.10.2012 | |
| Beispiel 2 | 2D/3D object transformations | 25.10.2012 | |
| Beispiel 3 | Clipping, Viewing and Projection | 9.11.2012 | |
| Beispiel 4 | Triangle Rasterization and Visibility | 30.11.2012 | |
| Beispiel 5 | Lighting and Shading | 14.12.2012 | |
| Beispiel 6 | Texturing and Custom Shaders | 11.1.2013 | |
Nachfristen
Es gibt bei jeder Beispielabgabe eine Nachfrist. Konkret kann jedes Beispiel auch bis zum Erscheinen der Musterlösung abgegeben werden. Jedoch gibt es dann Punkteabzüge, und zwar 2 Punkte, wenn man es bis zu 24 Stunden später abgibt, und 3 Punkte wenn man es bis 48h später abgibt.
Handhabung der Nachfristen: die Nachfristen werden vom Abgabesystem automatisch kontrolliert (minutengenau!) und die Punkte automatisch notiert. Die Punkte für die Abgabegespräche werden unabhängig von den Abzugspunkten vergeben. Die Abzugspunkte werden am Ende der Laborübung von der Gesamtpunktezahl abgezogen, um die endgültige Note zu ermitteln. Um positiv zu sein, muß man also beide Abgabegespräche jeweils VOR Abzug der Abzugspunkte positiv absolviert haben, sowie die gesamte Laborübung NACH Abzug der Abzugspunkte! Die Abzüge sind auch ihm Abgabesystem ersichtlich.
Übergangsregelung
Folgende Übergangsregelung gilt ausschließlich für Studierende, die am 1.7.2011 bereits für Medieninformatik inskribiert waren (Althörer):
Für das Modul "Übungen zu Visual Computing" müssen 2 Übungen absolviert werden:
- "Einführung in die Computergraphik" UE oder "Computergraphik 1" LU
- "Einführung in die digitale Bildverarbeitung" UE oder "Grundlagen der digitalen Bildverarbeitung" UE