|
||
---|---|---|
lib | ||
obj | ||
src | ||
texture | ||
.gitignore | ||
BIN-CG1_Projektarbeit.pdf | ||
README.md | ||
scene-graph-example.scg | ||
test-scene-graph.scg |
README.md
Computer Grafik 1 - Gruppe Purple
Mitglieder
Luca {
Wresch,
Conte
};
Jonas {
Dillmann,
Niewidok
};
Finn {
Wolters
};
Bauen, Starten und Bedienen des Programms
//TODO
$ cd src
$ make run
Bedienung über Keyboard :D
- WASD
- Leertaste
- Shift
TODO LIST
- README-Datei mit Informationen zum Bauen, zum Starten und zur Bedienung des Programms
- Matrixfunktionen zur Umsetzung der benötigten Transformationen (Verschiebung, Drehung, Skalierung, Position und Orientierung der Kamera, Perspektivprojektion, Normalenmatrix)
- mehrere Objekte in einer 3D-Szene
- Animation der Kamera und/oder eines Objekts
- Beleuchtung der Szene, wie in der Vorlesung beschrieben
- Texturierung von mindestens einem Objekt
Wenn ihr nicht nur bestehen sondern auch eine gute Note bekommen möchtet, müsst ihr auch möglichst viele der folgenden Anforderungen erfüllen:
- Import von Geometriedaten aus separaten Dateien
- sinnvolle Aufteilung des Codes auf mehrere Dateien (insb. Shader-Code in separaten Dateien)
- Datentypen und Hilfsfunktionen für Shader, Geometriedaten, Texturen
- [?] Überprüfung übergebener Funktionsparameter durch Assertions (soweit möglich)
- Tests für alle Matrixfunktionen
- [?] Strukturierung der Szene durch einen einfachen Szenengraph
- einfache Benutzerinteraktion mit Kamera und/oder Objekten (z. B. über Tastatur)
- [?] Beleuchtung der Szene mit mehr als einer Lichtquelle
- [?] gleichzeitige Verwendung von mindestens zwei Texturen in einem Objekt
- gleichzeitige Verwendung von mindestens zwei verschiedenen Shader-Programmen in einer Szene
- [?] transparente Objekte
- [?] Verwendung einer Umgebungstextur
- Spiegelung der Umgebungstextur auf einigen Objekten
- Nebel in einer komplexen 3D-Szene
Für eine besonders gute Note ist die Umsetzung mindestens einer fortgeschrittenen Technik erforderlich, die nicht in der obigen Liste genannt wird und für die ihr die notwendigen Details selbst recherchieren müsst.
Weitere Bewertungskriterien sind Code-Qualität, Projektidee und Ästhetik.