Computergrafik Flashcards
(35 cards)
Polygonale Netze
Diskrete Beschreibung
- Punkte (Vertices)
- Kanten/Linien (Edges)
- Flaechen (Surface, Polygon)
Modellierung – Subdivision Surfaces
(Unterteilungsflächen, “Sub-D-Modeling”)
Vorteil und Nachteil
Vorteil:
Hoher “Detailgrad” und Rundungen/Glättung trotz niedriger Polygonanzahl
Nachteil:
keine volle Kontrolle, oft nicht sofort intuitiv, erfordert abstraktes Vorstellungsvermögen
Modellierung – Parametrische Flächen (NURBS Flächen / Bezier-Flächen)
Definition
Eine Parametrische Fläche wird durch mathematische Funktionen definiert,
die für jeden (u, v)-Wert im Parameterraum einen Punkt im 3D-Raum erzeugen.
Modellierung – Parametrische Flächen / NURBS Flächen / Bezier-Flächen
Vorteile und Nachteile
Vorteile:
- mathematisch perfekt beschriebene Oberflächen, maximale Glattheit.
→ Automobilindustrie, Luft- und Raumfahrt, Produkt-Design, Industrie-Design, CAD, Konstruktion, Medizintechnik
- Texturierung: nach u und v definierte Oberfläche, d.h. man hat “Textur-Koordinaten” (UV-Koordinaten) per Definition
Nachteile:
- Berechnung von Kurven und Flächen (bei hochdetaillierten Modellen) oft rechenintensiv
- Für Rendering (oder Game-Engines) Umwandlung in Polygone notwendig (Genauigkeitsverlust bzw. hohe Polygonanzahl)
- (siehe Subdivision Surfaces)
Modellierung – Implizite Flächen
Vorteile und Nachteile
Mathematisch definiert
Vorteile:
- Perfekt glatte Oberflächen (Ausnahme: Signed Distance Fields
- Boolesche Operationen (Vereinigung, Differenz etc.) einfacher zu berechnen als bei polygonalen Netzen
Nachteile:
- schwierige direkte Modellierung (mathematisch beschriebene Oberfläche)
- hoher Rechenaufwand zum darstellen, Konvertierung in Polygonale Netze beim Rendern
Modellierung – Parametrische und Implizite Flächen
Vorteile und Nachteile
Vorteile (beider Techniken):
- präzise Kontrolle durch Parameter
- geeignet für Produktentwicklung, CAD und Industrieanwendungen
- glatte, kontinuierliche Oberflächen
- geeignet für komplexe Formen und organische Strukturen
- prozedurale Generierung
- effizient für Kollisionserkennung (v.a. SDFs)
,
Nachteile:
- schwierige Umwandlung in Polygone
- hoher Rechenaufwand für komplexe Modelle
- schwierige direkte Manipulation
- unintuitiv
- hoher Rechenaufwand für Rendering und Visualisierung
Voxel geeignet fuer
- physikalische Simulationen (Wasser, Wolken, Feuer, Rauch, Heightfields (→ Terraingenerierung))
- Kollisionsabfragen (z. B. Zerstörung in 3D-Welten)
- medizinische Bildgebung (CT/MRT)
- Klimamodelle & Simulationen
Modellierung – Signed Distance Fields (Implizite Flächen)
Vorteile und Nachteile
● Vorteile:
- Keine Topologie-Probleme
(Im Gegensatz zu Polygonnetzen gibt es keine Probleme mit Non-Manifold-Geometrie¹ oder fehlerhaften Normalen)
- gut geeignet für organische Körper
- geeignet für physikalische Phänomene
● Nachteile:
- hoher Speicher- & Rechenaufwand
(Voxel benötigen deutlich mehr Speicherplatz und Rechenleistung als Polygonmodelle, insbesondere bei hoher Auflösung)
- schwierige Echtzeit-Visualisierung
(Voxel haben keine direkten Flächen, werden im Viewport bzw. Rendering aufwendig visualisiert bzw. in Polygone umgewandelt
→ Raymarching Algorithmus
Modellierung – Konstruktive Feste Geometrie
(Constructive Solid Geometry, CSG)
Vorteile und Nachteile
● Komplexe Objekte mit Hilfe boolscher Operationen:
Vereinigung, Schnitt, Differenz
● Vorteile:
- Präzision (mathematisch/analytisch definiert)
(daher Verwendung in CAD, Produktdesign, Industrie (Automobil/Luft/Raumfahrt), Architektur, technische Konstruktionen)
● Nachteile:
- hoher Rechenaufwand bei vielen (aufeinanderfolgenden) booleschen Operationen
- nicht intuitiv
- Texturierung: keine expliziten Mesh-Strukturen vorhanden, “Abwicklung” erforderlich
Modellierung – Digitales Sculpting
Vorteile und Nachteile
● Vorteile:
- hohe Detailgenauigkeit
(feine Details, die mit anderen (polygonalen) Methoden nur schwer zu erreichen sind,
z.B. Falten, organische und natürliche Formen für Kreaturen, Felsen, Bäume)
- intuitive Modellierung:
Digitales “töpfern”, kreative Freiheit ohne Einschränkungen der Polygonmodellierung
- sowohl für organische (“Organic Modeling”) als auch feste Oberflächen geeignet (“Hard Surface Modeling”)
● Nachteile:
- hoher Rechenaufwand:
sehr detaillierte Modelle (hohe Polygonanzahl!) erfordern große Mengen an Speicher und Rechenleistung (Bearbeitung und Export)
- Retopologisierung erforderlich:
Oberfläche muß nach dem modellieren in ein sauberes, texurierbares und & effizientes Polygonnetz umgewandelt werden
- meist ist eine Displacement Map erforderlich, um Details nach Polygon-Reduktion bzw. Retopologisierung beizubehalten
Modellierung – Virtuelles Sculpting in VR
● Vorteile:
- Intuitive, kreative und immersive Arbeitsweise im 3-Dimensionalen Raum.
- neue Dimension des Modellierens
- Echtzeit-Visualisierung und Modifikation
● Nachteile:
- Technologieanforderunge: leistungsstarke Hardware (VR-Headset, Tracking-Systeme, GPU, CPU) → Kosten
- begrenzte Präzision – Steuerung und Detailgrad durch Interface und physische Bewegung limitiert
- Export und Weiterverwendung in 3D-Applikationen noch limitiert und mit Mehraufwand verbunden
Modellierung – Photogrammetrie, (LIDAR) Scan-Technologien & Punktwolken
Vorteile und Nachteile
● Vorteile:
- Hohe Präzision und Detailgenauigkeit
(LIDAR-Scans liefern extrem präzise 3D-Daten über Oberflächen, oft im Millimeterbereich)
- Maßstabsgetreue Abbildung der realen Welt
(Ideal für Gelände und Außenbereiche: Kartografie, Ingenieurwesen, Architektur, autonomes Fahren)
● - Erfassung komplexer Geometrien
(Punktwolken können Objekte abbilden, die mit traditionellen Methoden nur schwer zu erfassen wären)
- Kostengünstig, flexible Hardware (Smartphones, DSLRs)
→ Gilt nur für Photogrammetrie (nicht für LIDAR!)
● Nachteile:
- Hoher Rechen- und Ressourcenaufwand
(Verarbeitung und (LIDAR)-Punktwolken kann für große Datensätze sehr zeitaufwendig sein)
- Hohe Kosten
- Datenrauschen und Unvollständigkeit - vor allem bei transparenten Flächen und Reflexionen
Modellierung - Prozedurale Modellierung
(algorithmisches 3D-Design)
Vorteile und Nachteile
● Vorteile:
- Schnelligkeit und Effizienz bei Erstellung großer und komplexer Objekte und Szenen
(da programmatisch und regelbasiert, beschrieben durch Eingabewerte (iterativer Designprozess)
- Flexibilität und Wiederverwendbarkeit
(Einmal erstellte Modelle und Algorithmen können leicht auf verschiedene Szenarien angewendet werden)
● Nachteile:
● Wenig Kontrolle über individuelle Details
(von Algorithmen automatisch erzeugt, d.h. jede Anpassung bedarf einer weiteren “Regel”)
- Rechenaufwand und Komplexität
(Besonders bei sehr komplexen Szenen oder Algorithmen, v.a. bei Echtzeit-Anwendungen)
Prozedurale Modellierung – Fraktale & L-Systeme
Vorteile und Nachteile
● Vorteile:
- komplexe Strukturen und Geometrien mit Hilfe einfacher Regeln
- effiziente prozedurale Generieung von Mustern, Pflanzen, Bäumen
- minimale Änderungen in den Regeln erzeugen große Varianz in der Form
- höchst eigene und interessante Formen und Muster → auf andere Art kaum erzeugbar
● Nachteile:
- unintuitiv
- schwierige Steuerung
- gezielte Anpassung von spezifischen Details oft nicht möglich und kompliziert
- hoher Rechenaufwand bei komplexen Iterationen
(mit zunehmender Iterationstiefe wächst Rechenkomplexität exponentiell)
Modellierung – Gaussian Splatting
Vorteile und Nachteile
● Vorteile:
- Keine Polygongeometrie für Oberflächen notwendig
- Hohe Detailgenauigkeit und realistische Darstellung trotz Punktwolken
Effiziente Darstellung von Volumen – Geometrie wird in Echtziet ohne explizite Polygonstruktur modelliert
- kann zur Beleuchtung verwendet von 3D-Szenen und Modellen verwendet werden
● Nachteile:
● Hoher Rechenaufwand – bei komplexen Oberflächen oder großflächigen Punktwolke
Texturierung oft erschwert, da keine klar definierten Polygone
- Randbereiche oft undefiniert und verschwommen
- sehr moderne Technologie, derzeit noch kaum in 3D-Applikationen implementiert
- erfordert noch technisches Verständnis und Einarbeitung
Modellierung – KI-basierte 3D-Modell-Generierung
● Vorteile:
-Schnelligkeit und Effizienz
(Erstellung von 3D-Modellen basierend auf textuellen Eingaben oder Bildern, Modellierungsprozess erheblich beschleunigt)
- Zugänglichkeit für Anfänger
(keine tiefgehenden Kenntnisse in 3D-Modellierung oder 3D-Software erforderlich)
- kostengünstig
● Nachteile
- Begrenzte Kontrolle über Details
(oft unvorhersagbares Resultat, weniger personalisierte und präzise Ergebnisse)
- derzeit noch häufig geringe Qualität der generierten Modelle
(unnatürliche Formen, Texturprobleme → manuelle Nachbearbeitung erforderlich)
- ethische Fragen (Urheberrechtliche Bedenken, Trainingsdaten, Verwendbarkeit)
Wie wird die „Vorder-“ und „Rückseite“ eines Polygondreiecks, und damit die Richtung der
Normalen, bestimmt?
Zeichnen sie für beides ein Beispiel auf und jeweils das dazugehörige Index-(Buffer-)Array.
Die Vorder- bzw. die Rückseite wird über den Drehsinn (im oder gegen den Uhrzeigersinn,
genannt „Polygon-Winding“) der Flächendefinition festgelegt.
Beschreiben Sie in zwei bis drei (kurzen) Sätzen, was ein Distanzfeld (Signed Distance
Field) ist.
Ein Volumenfeld. Es ist definiert durch den Abstand (“Distance”) jedes Voxels zur Oberfläche
(“Zero Level Set”) der Geometrie.
Was ist der Unterschied zwischen einem Pixel und einem Voxel?
Ein Pixel bezeichnet ein (diskretes) zweidimensionales Flächenelement, während ein Voxel
ein (diskretes) dreidimensionales Volumenelement bezeichnet.
Nennen Sie in kurzen Sätzen vier elementare Schritte im Prozeß der Photogrammetrie
- Erstellung der Bildaufnahmen des realen Objektes (oder Umgebung, Landschaft etc.) mit
Hilfe einer Kamera - Rekonstruktion und Generierung der Geometrie-Punktwolke (inkl. Farbwerte) aus
Kameradaten (Triangulation) - Oberflächenrekonstruktion (Umwandlung in Polygon-Hülle)
- Farb-/Textur-/Material-Zuweisung
- (optional: Polygonreduktion und Maps-Baking)
Definition ”Textur in der Computergrafik”
Zweidimensionales Bild, welches auf die Flächen eines (oder mehrerer) dreidimensionalen Oberflächenmodells projiziert wird.
Dieses Projektionsverfahren nennt man “Texture Mapping” (Texturierung oder “Textur-Mapping”).
Texturen lassen computergenerierte Bilder detailreicher und realistischer erscheinen,
ohne dass das zugrundeliegende 3D-Modell selbst verfeinert werden muss.
Texturierung
● Algorithmus (vereinfachte Erklärung) in der Rendering-Pipeline:
- Für jedes zu rendernde Pixel (im finalen Bild) werden die 3D-Koordinaten des Modells (bzw. der 3D-Szene)
in die 2D-Koordinaten des Bildschirms (Normalized Device Coordinates, “ndc”) projiziert.
- Wenn Kamera-Strahlen (Camera Rays) auf ein 3D-Modell - genauer auf ein Polygon eines 3D-Modells - treffen,
werden die 2D-Textur-Koordinaten (UV-Koordinaten) mit Korrespondenz zur 3D-Vertex-Position der Fläche des 3D-Modells ausgelesen.
- Mit Hilfe dieser UV-Koordinaten wird die Farbe aus der Textur ausgelesen und auf das zu rendernde Pixel übertragen
● Prozedurale Textur:
- Eine Funktion weist Bildpunkten des Objekts über mathematische Beschreibung Farbwerte zu.
- Geeignet für einfache Muster (z.B. Schachbrett) oder zufällige Muster (z.B. Perlin Noise).
- Geringer Speicherbedarf
- Exakte Berechnung (da mathematisch definiert) für jede gewünschte Position (u,v) möglich.
● Diskrete (“Bild-”)Textur
- Texturwerte liegen als Matrix/zweidimensionales Array im Speicher vor
- Meist wird dafür eine Bilddatei eingelesen (png, jpg, exr, tif …)
- Geeignet für komplizierte und (foto)realistische Texturen
- Oft Verzerrungen und Aliasing-Effekte beim Auftragen der Textur
- Texturwert (Farbwert) an beliebiger Position (u,v) muss interpoliert werden
- 3D-Geometrie-Fläche muss abgewickelt werden (3D- zu 2D-Koordinaten)