Ausgewählte Projekte der Computergraphik (GraPro) - Cheatsheet
Grundlagen der 3D-Modellierung
Definition:
Elementare Techniken der Erstellung und Bearbeitung von 3D-Objekten in virtuellen Umgebungen.
Details:
- Transformationen: Translation, Rotation, Skalierung von 3D-Objekten
- Modellierungstechniken: Polygonales Modellieren, NURBS, Splines
- Mesh-Topologie: Knoten (Vertices), Kanten (Edges), Flächen (Faces)
- Rendering: Beleuchtung, Texturierung, Shading
- Softwares: Blender, Maya, 3ds Max
Ray-Tracing und Rasterization
Definition:
Ray-Tracing: Bildsynthese, indem Lichtstrahlen durch Szene verfolgt werden. Rasterization: Objekt-basierte Darstellung, indem Objekte in Raster transformiert werden.
Details:
- Ray-Tracing: simuliert Lichtstrahlen, realistische Spiegelungen, Brechungen, Schatten
- \(\text{Kosten:} \ O(n^3)\)
- Rasterization: scannt Dreiecke und pikseliert sie, schneller als Ray-Tracing
- \(\text{Kosten:} \ O(n\log n)\)
- Grafikkarten-basiert (für Echtzeit)
- Beide Methoden in Kombination: Hybrid Rendering
Global Illumination und Schattenberechnungen
Definition:
Global Illumination beschreibt die realistische Berechnung von Licht, das in einer Szene mehrfach reflektiert wird. Schattenberechnung bezieht sich auf die Bestimmung von Bereichen, die von einer Lichtquelle nicht direkt erreicht werden.
Details:
- Global Illumination Modelle: Photon Mapping, Radiosity, Path Tracing
- Schattenbildung: Hartes vs. weiches Licht
- Mathematische Modelle: Rendergleichung
- Formel der Rendergleichung: \[L_o(\textbf{p}, \textbf{v}) = L_e(\textbf{p}, \textbf{v}) + \int_{\textbf{n}} f_r(\textbf{p}, \textbf{v}, \textbf{l}) \cdot L_i(\textbf{p}, \textbf{l}) \cdot (\textbf{n} \cdot \textbf{l}) \cdot d \textbf{l} \]
- Antialiasing und Schattenedges
- Techniken: Shadow Maps, Shadow Volumes
- Optimierung: Importance Sampling
Verwendung von OpenGL und WebGL
Definition:
Verwendung von OpenGL und WebGL in der Computergraphik
Details:
- OpenGL: Weitverbreitetes API für 2D- und 3D-Grafik.
- WebGL: JavaScript-API für Rendering von interaktiver 3D-Grafik im Browser.
- Shader: Programme zur Umsetzung von Effekten (Vertex und Fragment Shader).
- Buffer: Speicherbereiche zur Datenverwaltung.
- Transformationen: Verwendung von Matrizen für Translation, Rotation, Skalierung.
- Texturierung: Hinzufügen von Bilddaten zu 3D-Objekten.
- Rendering Pipeline: Vom Verarbeiten der Geometriedaten bis zur Ausgabe des Bildes.
Performance-Optimierung interaktiver Szenen
Definition:
Verbesserung der Reaktionszeit und Effizienz interaktiver 3D-Szenen.
Details:
- Level of Detail (LOD): Weniger detaillierte Modelle in größerer Entfernung verwenden.
- Visibility Culling: Unsichtbare Objekte aus der Rendering-Pipeline entfernen.
- Occlusion Culling: Verdeckte Objekte nicht rendern.
- Frustum Culling: Objekte außerhalb des Sichtbereichs ausschließen.
- Parallelisierung: Berechnungen auf mehrere Prozessoren verteilen.
- Shader-Optimierung: Effizienz der GPU-Programme steigern.
- Bake statt berechnen: Statische Beleuchtung und Schatten vorab berechnen.
- Reduzierung der Draw Calls: Mehrere Objekte zu einem Rendering-Aufruf kombinieren.
Techniken zur Animation von 3D-Objekten
Definition:
Techniken zur Animation von 3D-Objekten umfassen Methoden zur Bewegung und Transformation von 3D-Modellen innerhalb einer grafischen Szene.
Details:
- Keyframe-Animation: Definiert wichtige Positionen (Keyframes) und interpoliert die Zwischenpositionen.
- Skelettanimation: Verwendet ein Knochensystem, um komplexe Bewegungen zu ermöglichen.
- Stochastic Animation: Einsatz von Zufall zur Erzeugung realistisch unvorhersehbarer Bewegungen.
- Physikbasierte Animation: Simuliert reale physikalische Gesetze (z.B. Gravitation, Kollision).
- Motion Capture: Erfasst Bewegungsdaten realer Objekte und überträgt sie auf 3D-Modelle.
Material- und Texturerstellung
Definition:
Material- und Texturerstellung umfasst den Prozess des Erstellens und Zuweisens von Oberflächeneigenschaften sowie Texturen für 3D-Modelle in der Computergrafik.
Details:
- Material: Definiert Eigenschaften wie Farbe, Glanz, Transparenz und Reflexion.
- Texturen: 2D-Bilder, die auf 3D-Oberflächen projiziert werden, um Details hinzuzufügen.
- Diffuse Map: Bestimmt die Grundfarbe eines Materials.
- Bump Map: Simuliert kleine Erhebungen und Vertiefungen durch Normalenveränderungen.
- Specular Map: Kontrolliert die Spiegelungseigenschaften des Materials.
- Normal Map: Erzeugt detailliertere Oberflächenstrukturen durch Modifikation der Normalenvektoren.
- PBR (Physically Based Rendering): Realistischere Materialdarstellung durch physikalisch basierte Modelle für Licht- und Materialinteraktionen.
Erstellung von Projektdokumentationen
Definition:
Projektdokumentationen umfassen detaillierte Informationen zu allen Aspekten eines Projekts, einschließlich Planung, Durchführung und Ergebnisse.
Details:
- Einleitung: Ziel, Umfang, und Zielgruppe des Projekts beschreiben.
- Planung: Projektziele, Zeitplan, Meilensteine und Aufgabenzuweisungen dokumentieren.
- Durchführung: Methoden, Werkzeuge und Arbeitsschritte festhalten.
- Ergebnisse: Projektergebnisse und Ergebnissevaluationen präsentieren.
- Zusammenfassung: Wichtige Erkenntnisse und etwaige Verbesserungsvorschläge angeben.
- Anhänge: Quellcode, Diagramme, und zusätzliche relevante Informationen beifügen.