Wie funktioniert der Shüftan Process?
ein Spiegel wird im 45-Grad-Winkel zur Kamera aufgestellt
Kulisse wird so positioniert, dass Spiegelbild in Kamera zu sehen ist
Mit einem Messer werden die Teile der Spiegelschicht entfernt, an denen Darsteller zu sehen sein sollen, hier wird Spiegel durchsichtig
--> Man muss keine Aufwendigen Kulissen bauen, Miniatur reicht
--> Feste Positionen von Kamera und Kulisse ermöglichen keine Veränderung des Frames
Erklären Sie den Dunning-Process.
Zuerst wird reine Hintergrundszene aufgenommen und in Bleichbad gelb-orange gefärbt
Darsteller werden in gelblich/orange beleuchteter Kulisse vor einem Bluescreen aufgenommen
Kamera besteht aus schwarz-weiß-Film, der belichtet werden soll und vorgelagertem orangen Film (bipack)
—> Blaues Licht kopiert das gefärbte Positiv auf den Film. Das Licht der gelb beleuchteten Schauspieler dringt durch das Virage-Positiv und belichtet den Negativ-Film.
—> nur mit SW-Film!
Erklären Sie den Blue Screen Separation Process und was sind seine Probleme?
Herstellung von Travelling Mattes unter Verwendung der drei Farbseparationen des Drei-Streifen-Technicolor-Verfahrens
-> man kann Vordergrundelemente vor einer blauen Leinwand filmen und so die blauen und roten Farbtrennungen der Szene verwenden
Drei-Streifen-Technicolor: 3 separate SW-Negativfilme, jeweils mit einem roten, grünen und blauen Filter
Isolation des VG mit blauer Trennmaske
-> Blaukanal (negativ), Rotkanal (negativ), kontrastreiche Mattes
Umkehrung der Matte, Trennung von FG/HG
Kombination durch Mehrfachbelichtung in optischen Drucker, die Farbfilme kombinieren können
-> Male Matte = HG transparent, FG schwarz
-> Female Matte = HG schwarz, FG transparent
Problem:
transparente Objekte werden unsichtbar (zB Glas)
Halbtransparente Objekte (Rauch, Haare etc.) mit weichen Kanten bekommen blauen Rand
Erklären Sie den Sodium Vapor Light Process.
Petro Vlahos
Darsteller vor Leinwand, die durch Natriumdampflampen mit Licht spezifischer Wellenlängen angestrahlt wird
beschichtetes Prisma filtert diese Wellenlänge des Lichts und wird auf eigenen Technicolor-Dreistreifenfilm gebracht
-> Male Matte durch gelbes Licht, VG Elemente durch RGB
Auch transparente Objekte einsetzbar!
Warum ist es für moderne Compositing Software wichtig, auf 32 bit float zu arbeiten?
Bilder enthalten meistens nur etwa ein paar hunderttausend Farbvariationen, Mensch kann bis zu 18.8 Millionen Farbvariationen sehen
8 bit = 256 Schattierungen pro Kanal = 16.8 Millionen Farbvariationen
-> reicht bei Bildern ohne Weiterverarbeitung meistens aus und Monitore können oft nicht mehr darstellen
32 bit Bild = über 4 Billionen Schattierungen pro Kanal möglich
32 bit:
= HDR besitzen eine 32-Bit Farbtiefe (mehrere Aufnahmen mit unterschiedlichen Belichtungen werden zusammengerechnet)
-> Bittiefe sehr wichtig bei Grading
-> es werden keine Details hinzugefügt, aber es gehen auch keine Details verloren!
-> Wenn man Gradings wieder rückgängig macht kommt man exakt auf die gleichen Messwerte
-> Zu geringe Bittiefe --> Rundungsfehler
Warum ist es für das Compositing wichtig, im linearen Farbraum zu arbeiten?
Echtes Licht funktioniert im linearen Raum
-> Lichtwechselwirkungen sind glaubwürdig
-> Mathematische Berechnungen sind klar nachvollziehbar (doppelte Werte --> doppelte Intensität)
-> korrekte Berechnung für Beleuchtungsberechnungen beim Rendern
Gammakorrektur wichtig!
Erklären Sie die Funktionsweise von Gamma
Gammakorrektur
= Optimierungsprozess, um Bandbreite und Bitzuweisung zu reduzieren
-> menschliches Empfinden ist empfindlicher auf Unterschiede in dunkleren Tönen als in hellen Tönen
= logarithmisch
-> ohne Gammakorrektur würden zu viele Bits Bereichen zugeordnet werden, in denen wir Unterschiede sowieso nicht sehen
—> Kodierung mit Gamma 2,2 (entspricht menschlicher Kurve), bei Wiedergabe im Monitor wieder entgegengesetzte Krümmung (kommt von alten Röhrenfernsehern)
= Jedes Pixel wird mit 1/Gamma-Wert potenziert (
Output = Pixel^1/Gamma
Erklären Sie den Unterschied zwischen einer Add und einer Screen Operation.
Add/Plus = A+B
-> Summe von Bild A und B. Plus-Algorithmus kann zu Pixelwerten höher als 1.0 führen
-> Sinnvoll bei z.B. Lichtberechnungen -> Licht ist additiv
-> kann clippen
Screen = A or B ≤ 1? A+B-AB: max (A,B)
-> Wenn A oder B kleiner oder gleich 1 ist, dann ist das Ergebnis A+B-AB, ansonsten wird das Maximum von A und B verwendet.
-> Invertiert beide Werte, multipliziert diese, und invertiert das Ergebnis wieder
-> nützlich, um Matten zu kombinieren oder Monitorinserts zu generieren -> alpha geht nie über 1!
Erklären Sie den Begriff Premultiplication im Compositing und die daraus resultierende Vorgehensweise bei der Bearbeitung von Filmmaterial.
Was sind die zwei Regeln der Premultiplication?
Sollen 2 Elemente mit unterschiedlicher Transparenz kombiniert werden, ist es wichtig, Farbwerte der Elemente je nach Transparenz richtig zu gewichten
Premultiplication: RGB-Kanäle werden bereits mit Transparenz multipliziert
—> Alphakanal enthält alle Infos zu Anti-Aliased Kanten, Bewegungsunschärfe oder halbtransparenten Elementen
--> korrekte Kombination der Elemente ohne Artefakte
Regel 1: Farbkorrektur und Farbraumkonvertierung auf nicht vormultipliziertem Bild durchführen
Regel 2: Transformationen und Filteroperationen nur auf dem vormultipliziertem Bild durchführen
Erklären Sie die Funktionsweise von Kontrast
Kontrast
= Verhältnis von Hell zu Dunkel in einem Bild
-> eher etwas wahrgenommenes als mathematische Formel
-> Wenn Kontrast zunimmt: Schwarz wird Schwärzer, Weiß wird weißer, Gesamthelligkeit bleibt erhalten
-> Nuke: Output = ((Input/0.18)^Contrast)*0.18
-> Kontrastwert ist Umkehrung der Gammafunktion
Wie funktioniert eine Merge Operation im Compositing? Was ist der Alphakanal?
Alphakanal: Vierter Kanal, der Auskunft über Transparenz oder Deckkraft (Opazität) der RGB-Farbkanäle gibt
-> RGBA-Bilder
Default Merge Operation:
over = A+B*(1-a) = (A*a)+B*(1-a)
Bild A (Vordergrung) wird - entsprechend dem α-Wert von Bild A - über Bild B (Hintergrund) gelegt
α = 1 -> volle Deckkraft
α = 0 -> Bild A ist transparent
dazwischen wird interpoliert (transparente Überlagerung)
Was ist die Funktion für einen Schwellenwert beim Luma Key?
Luma Keyer basiert auf Helligkeitswerten eines Bildes
-> RGB wird umgewandelt in ein Luminanzbild
-> dabei nicht nach korrektem menschlichen Empfinden (grün am hellsten, blau am dunkelsten) sondern nach bestem Ergebnis für die Transparenzwerte!
Schwellenwert: Werte drüber bleiben undurchsichtig (weiß), Werte drunter transparent (schwarz)
-> bei einfachem Wert harte Kanten
-> weiche Kanten durch Graustufenverlauf im Übergang (innerer und äußerer Schwellenwert)
Erklären Sie die Funktionsweise eines Luma Keyers für ein graues Objekt.
Graues Objekt:
Center: durchschnittlicher Leuchtdichtwert des Ziels
Toleranz: gibt an, wie groß der Luminanzbereich im 100% weißen (deckenden) Bereich vom Key ist
Softness = Steilheit zwischen Schwarz und Weiß
-> je steiler, desto härter die Keykanten
—> Kontrollbuchstaben A,B,C,D fallen unter Schwellenwert und werden schwarz. Alles über Schwellenwert (graues A) wird auf 100% weiß gezogen
Erklären Sie die Funktionsweise eines simplen 3D Chroma Keyers.
Verwendet HSV-Bilder (hue, saturation, value) statt RGB -> Sättigungsgrad wird benötigt
es wird ein Startpixelwert gesetzt (Center): Punkt, der genau in der Mitte des Farbbereichs liegt, den wir keyen wollen (z.B. bei Green Screen im Grünen Farbbereich)
Distance Map in RGB-Farbraum, die durch Vektoren die Entfernung jedes Pixels zum Center darstellt
-> farb “nahe” Pixel (0) werden schwarz dargestellt (Grüner HG), farb “ferne” Pixel (1) werden weiß dargestellt (zu keyendes Objekt, VG)
-> dazwischen Graustufen => Graustufen-Matte
Mittelpunkt R1G1B1 ist zu isolierende Farbe, R2G2B2 sind alle Pixel im Raum außerhalb des isolierten Farbraums, die nun Graustufen darstellen und die Entfernung zur isolierten Farbe anzeigen
Was ist die Funktionsweise und die üblichen Probleme eines Difference Keys.
= Unterschied zwischen 2 Bildern wird berechnet
Difference = abs(A - B)
A ist Clean Plate, also nur HG ohne Objekt
B ist Bild mit Objekt mit identischem HG
-> identische Bildbereiche von 2 Bilder werden transparent gesetzt (=0)
-> nur Bildunterschiede bleiben sichtbar (>0)
-> Nur absolute Werte, keine negativen Werte erwünscht
-> In der Regel sehr unsauberer Key
Beschreiben Sie die Funktionsweise eines Colour Difference Keys.
Einfarbige Hintergründe (z.B. Greenscreen) sollen freigestellt werden:
Bsp. Greenscreen: Differenz zwischen Primärkanal (grün) und Sekundärkanälen (rot und blau) ist groß, klein, null oder negativ
- Rohmatte mit teilweiser Dichte im HG und ≈ 0 im Ziel (Objekt)
Rawmatte = G-R
-> Greenscreen (0.4, 0.6, 0.3) = 0.6-0.4 = 0.2
-> Ziel (0.5,0.5,0.5) = 0.5-0.5 = 0
Im echten Leben variieren Pixelwerte:
-> Matte wird anhand der Differenz zum nächsthöheren Farbkanal erechnet:
Rawmatte = G - max(R,B)
- Partielle Dichten (dunkelgrau) werden dann auf 1 (vollweiß) gesetzt
-> Schwierig bei ungleichmäßig beleuchteten Szenen
Auf was ist beim Einleuchten eines Green Screens zu achten?
Greenscreen separat beleuchten
Darsteller idealerweise 5m entfernt
Blende, ISO, Verschlusszeit festlegen (0.5 bis 1 stop unter Spotmeter filmen)
50 IRE Helligkeit für Greenscreen und 70 IRE für Darsteller
Werte mit Messgeräten überprüfen
Welche Probleme können beim Keyen mit Green Screens auftreten? Nennen sie Lösungsmöglichkeiten für drei der Probleme.
Grain (Rauschen):
- Das meiste Rauschen im blauen Kanal, die meisten Details im grünen/roten Kanal
Lösung -> Degrain/Denoise = meiste Glättung im blauen Kanal
Über-/Unterbelichtet:
- Auf Clipping achten, geclippte Werte sind näher an anderen Kanälen als Rest vom Greenscreen
- Abstand zwischen Farbkanälen sollte so groß wie möglich sein, bei Unterbelichtung zu klein
Lösung -> Screen Leveling (Addition einer Matte, die alle Werte auf Referenzwert angleicht)
Verschmutzes Grün:
- auf großen Abstand zwischen Grün und Rot/Blau Kanälen achten, damit Matte opaque ist
- Rot und Blau sollten ungefähr gleich hoch sein
Lösung -> Channel Shifting (roten Kanal nach oben oder grünen nach unten)
Ungleichmäßig beleuchtetes Grün:
- nicht zu spottig leuchten!
Lösung -> Screen Leveling (counter gradient)
Grün über R/B Kanälen -> Transparente Zielbereiche:
Lösungen:
-> Local Suppression (reduzieren der Grünwerte nur in bestimmtem Bereich durch eigene Maske)
-> Channel Clamping (gleichzeitig einzelne Bereiche runterdrücken (grün) oder anheben (rot))
-> Channel Shifting (gesamten (Grün-)Kanal anheben, sorgt für schönere Kanten)
Welche Faktoren sind an dem Green Spill schuld?
Grünes Bounce Licht wird auf Zielobjekt geworfen
Halbtransparenzen (Haare/Rauch)
Defocus
Motion Blur
Spill light
Was ist eine Spill Map und wie funktioniert Despilling?
Spillmap = Einkanaliges Bild, das gesamten überschüssigen Grünanteil von originaler GreenscreenPlatte enthält
-> Spillmap vom Grünkanal subtrahieren --> man erhält "despilled" Bild
-> Alles was im Despilled Bild gräulich ist, zeigt überschüssigen Grauanteil
Problem: Spillmap zeigt überschüssiges Grün im Haar und Pullover, obwohl diese nicht Teil des Grünschimmers sind
-> entfernt man dieses Grün, kommt es zu Farbverschiebung
=> Lösung: z.B. betroffenen Bereich maskieren, andere Operation wählen, Schaden im Nachhinein wieder beheben
Beschreiben Sie einen Despill Algorithmus.
Green limited by red:
Despilled green = if G > R then R: else G
-> Grünkanal begrenzen, sodass er nicht größer als Rotkanal ist
-> nur eine Farbe als Grenzwert für grün gewählt
Average:
Despilled Green = if G > avg (R,B) then avg (R,B) : else G
-> wenn Grün größer ist als Durchschnitt von Rot und Blau, verwende den Durchschnitt aus Rot und Blau. Ansonsten, verwende Grün
-> Artefakte werden auf mehrere Farben verteilt und haben somit geringere Auswirkung auf eine bestimmte Farbe
Welche beiden Verfahren gibt es bei einem TLS Verfahren? Beschreiben Sie beide Verfahren.
TLS = System aus rotierenden Ablenkspiegeln sendet Laser aus und misst die zurückfallende Strahlung
1. Time of Flight
= Laufzeitverfahren
- kurze, voneinander getrennte Lichtimpulse werden gesendet
- Laufzeit der von einem Objekt reflektierten Strahlung dient der Entfernungsmessung (Timer):
d = 1/2 * c * t
- Medium, durch das Strahlung geht, wird nicht beachtet
+ Geeignet für Messungen bin “bis zu mehreren Kilometern”
2. Phase Shift
- Aussenden kontinuierlicher Strahlen einer Wellenlänge mit unterschiedlicher Amplitudenmodulation
- Phasenverschiebung zwischen Sende und Empfangssignal ist Anhaltspunkt für Entfernung
-> Amplitudenmodulation verhindert Doppeldeutigkeit, wenn sich Phase wiederholt
- nur für Entfernungen bis zu einigen hundert Metern
+ sehr genau
Wie berechnet man die Distanz bei den beiden Verfahren?
ToF
Phase Shift
d = (c*Δϕ)/2π*2f = (c*Δϕ)/2ω
LISO WENN DU DAS LERNST, der Phase Shift steht nirgends, das war so mit Chat GPT bisschen geraten, also lern das nicht
Welche Sensoren und deren Funktion sind relevant für den Scanprozess?
GPS: unterstützt die grobe Vorpositionierung der einzelnen Messungen
-> für spätere Zusammenführung der Punktwolken
Altimeter: Referenz zur Höhenlage der Scans
-> Vorpositionierung wie GPS
Kompass: Orientierung von Objekten im Raum
Zweiachskompensator: Neigungssensor
-> ermöglicht nachträgliches Nivilieren (parallel zum Boden ausrichten)
Was ist der Unterschied zwischen Auflösung und Qualität?
Auflösung = wie viele Punkte werden insgesamt am Objekt gemessen/ Abstand der Punkte voneinander
-> Messdichte
Qualität = wie oft wird jeder einzelne Punkt gemessen (Wiederholungen)
-> Genauigkeit, Vermeidung von Messfehlern (z.B. wenn Laser Regentropfen trifft)
Beschreiben Sie die notwendigen 6 Schritte der Datenverarbeitung der Scan Daten.
1. Punktwolke
= räumliche Visualisierung der Scandaten -> jeder Messwert wird als Punkt in einem dreidimensionalen Koordinatensystem dargestellt
- Punktwolken-Bearbeitungsprogramme sortieren Daten aller Scans in einer räumlichen Datenstruktur (Octree)
-> Punktwolken lassen sich effizienter und schneller auslesen
2. Registrierung
= Zusammenfassung mehrerer Scans zu einer gemeinsamen Punkwolke (globales Koordinatensystem mit Ausrichtung und Position aller Punktwolken)
-> Top View Cloud to Cloud Algorithmus: führt den Raum, von oben betrachtet, zusammen und vergleicht gleiche Punktpaare der Wolken mithilfe einer Referenzwolke (Überlappungen); Feinheiten werden nicht erkannt
-> Zielmarkenbasiert: Punktwolken werden an Targets (z.B. Schachbrettmarker) ausgerichtet und durch Reflexionseigenschaften automatisch erkannt und zugeordnet
3. Relokalisierung
= Alle Scans wurden zueinander ausgerichtet
- gemeinsame Punktwolke liegt meistens weitab vom Ursprung
-> Gesamter Raum muss im Programm lokalisiert werden
4. Clean-up
= Entfernung aller Scan-Artefakte und störender Elemente. Reduzierung auf arbeitsfähige Zahl von Punkten
5. Meshing
Scanpunkte werden in Polygonnetz überführt
6. Farb- und Helligkeitswerte
- Rückstrahlintensitäten der Messpunkte werden als Helligkeitswerte abgespeichert
-> können später genutzt werden, um Punktwolke nach Qualität der Einzelmessungen zu filtern
- Helle Messpunkte mit hoher Rückstrahlung sind genauer als dunkle Messpunkte mit niedriger Rückstrahlung
- integrierte Farbkamera, die aus mehreren Spiegelpositionen Fotos macht & zusammenführt
Welche 3 messrelevanten Fehler können bei dem Scanvorgang auftreten und durch welche Clean Up Methoden können diese Fehler eliminiert werden?
Outliers: Ausreißer durch schlechte Oberflächenbeschaffenheit (Regentropfen, reflexive Oberflächen wie Glas etc.)
Static Outlier Filter (Static Outlier Removal Algorithmus): berechnet durchschnittliche Distanz jedes Scanpunktes zu seinen Nachbarn
-> am Ende eines Clean-ups wird Punktdichte über einen Subsample-Algorithmus noch einmal reduziert
-> gleichmäßige Punktdichte wichtig
Noise: Messabweichung durch Positionsabweichungen von Scanner/Objekt während des Scans
- Dunkle Scanpunkte sind ungenauer und besitzen schlechteres Rauschverhalten als helle Punkte
-> Filtern auf Basis von Helligkeitswerten filtern
Noise Filter: nähert mehreren Punkten in einem definiertem Radius eine Fläche an
-> Punkte, die zu stark von Fläche abweichen werden entfernt (mit Toleranzgrenze)
-> eignet sich gut zum Bereinigen von Ebenen, nicht so gut für Säuberung von Kanten
Strays: An einer Kante könnte ein Teil des Lichts nicht richtig reflektiert werden und wird dann erst an Wand dahinter reflektiert
Stray Filter: Lage eines Scanpunktes wird mithilfe eines Rasters zur Lage seiner Nachbarn vergleichen
-> Raster wird über Ausgangspunkt und seine Nachbarn gelegt -> Tiefenstaffelung der Punkte wird betrachtet und über Distance Threshold eingegrenzt
-> liegt eine bestimmte Anzahl an Punkten (Allocation Treshold) innerhalb der Distanz bleibt der Ausgangspunkt erhalten, sonst wird er gelöscht
Welche beiden Meshing Verfahren kennen Sie und Beschreiben Sie diese beiden Verfahren kurz.
Ball-Pivoting-Algorithmus
Umfeld eines bestehenden Punktes der Wolke wird abgesucht und benachbarte Messpunkte miteinander verbunden
-> drei Punkte jeweils zu Triplet verbunden, wenn sie im Radius liegen
-> kann zu Löchern und fehlenden Teilstücken führen, da Unebenheiten übernommen werden und Punkte außerhalb des Radius nicht verbunden werden
-> Durch Wahl verschiedener Radien oder Einsatz zusätzlicher Algorithmen lassen sich solche Lücken schließen
Poisson Surface Reconstruction
Auf Basis eines Octrees und vorhandener Punktwolke als Referenz wird ein komplett neues Polygonnetz erzeugt
-> Mesh ist zwar lückenlos, aber oft fehlerhaft, da nur Nachbildung (Weichzeichnung/ Ungenauigkeiten)
-> Fehler (überflüssige/störende Faces) können durch Selektrionsfilter entfernt werden
-> Octree-Tiefe beeinflusst Qualität des Meshs
Was ist der Unterschied zwischen Lidar Scanning und Photogrammetry?
Photogrammmetrie ist ein Verfahren, mit dem aus 2D-Fotos 3D-Modelle erstellt werden
-> Lidarscanning ist aktiv (arbeitet mit Sensoren/Lasern)
-> Photogrammmetrie ist passiv (berührungslos/aus der Ferne)
Beschreiben sie in Stichpunkten einen Photogrammmetrie Workflow.
1. Capture Phase - Fotos machen
-> mind. 50 Fotos aus verschiedenen Höhen/Winkeln mit viel Überlappung
-> auf Wetter-/Lichtbedingungen achten
-> einige nahe Einstellungen für Details/Textur; Videos/Dronen für große Objekte
-> Referenzobjekt für Skalierung
= Coverage
2. Calibration - Farbkalibrierung
3. Alignment - zusammenführen
4. High Mesh - z.B. mit Ball Pivoting Algorithmus
5. Simplify
6. UV - Layout
7. Baking
8. De-Lighting - Beleuchtung wegnehmen
Nennen und beschreiben der Abläufe der Arbeitsschritte einer Photogrammmetrie Software-Data Processing.
1. Natural Features Extraction
- Markante Pixelgruppen/Wiedererkennbare Punkte
= Deskriptoren, bestenfalls unveränderlich gegenüber:
-> wechselnden Kameraperspektiven
-> Koordinatentransformationen (Translation, Rotation, Skalierung)
-> Beleuchtungsvariationen
-> Bildrauschen
2. Image Matching
= Bilder finden, die auf selben Bereich der Szene schauen
- Vocabulary Tree Ansatz (Baumstruktur) -> vergleicht Bilddeskriptoren um zu sehen, ob verschiedene Bilder den gleichen Inhalt haben
3. Features Matching
= alle Deskriptoren zweier Bildpaar-Kandidaten abgleichen und zueinander matchen
- Approximate Nearest Neighbor Algorithmus
- Cascading Hashing Algorithmus
- Epipolare Geometrie: Ein Punkt im ersten Bild gegeben, Suchhbreich schränkt sich bei bekannter Epipolargeometrie im zweiten Bild auf eine Linie ein
4. Structure from Motion
= Bestimmen der Kameraposition und deren Orientierung
- Sequenz sich stark überlappender Fotos, die Umgebung aus unterschiedlichen Perspektiven lückenlos abdeckt
-> übereinstimmende Pixelpunkte ermöglichen Verknüpfung der Bilder und Bestimmung der Kameraposition
-> dünne Punktwolke der zu erfassenden Umgebung entsteht
5. Depth Map Estimation
= Bestimmung des Tieferwertes jedes Pixels (= Entfernung zur Kamera)
- Multiple View Stereo/Geometry Algorithmus nutzt die durch die SfM ermittelten Informationen zur Lage der Kamera um eine dichte Punktwolke/eine dreidimensionale Punktwolke zu erzeugen
6. Meshing
= geometrische Flächendarstellung erstellen
- Tiefenkarten werden zu einem globalen Octree
-> Ein Mesh wird über eine der vielen Methode (z.B. Poison Surface reconstruction) erzeugt
7. Texturing
= UV Maps berechnen (U=horizontal, V=vertikal)
- UV-Map ist 2D Darstellung eines 3D Raums (wie aufgefalteter Würfel)
- durch Algorithmus wird eine UV-Map erstellt.
-> Projektionen der Bilder werden übergeblendet und schließlich UV-Map gepackt
Welche Probleme hat die Photogrammmetrie? Beschreiben sie in diesem Zusammenhang den Vorteil der Kreuzpolarisations-Methode
Große Schwierigkeiten mit glatten und spiegelnden Oberflächen:
-> kaum Anhaltspunkte für spätere Vernetzung des Bildmaterials
-> Farbwertänderungen bestimmter Pixel
Kreuzpolarisaton:
- dient der Extraktion korrekter und reiner Farbwerte ohne Reflexionen durch die Szenenbeleuchtung
-> Lineare Polarisationsfolie vor der Lichtquelle, um das Licht senkrecht zur Ausbreitungsrichtung auszurichten
-> Zirkularer Polarisationsfilter am Objektiv, der 90° zur Folie ausgerichtet ist = Kreuzpolarisation
=> linear polarisierte Lichtwellen werden am Erfassungsobjekt reflektiert und diese Reflexionen anschließend durch den Polfilter der Kamera wieder ausgelöscht
Aus welchen Komponenten besteht ein Mesh?
YAY DU HAST ES DURCH PHOTGRAMMETRIE GESCHAFFT
DU AUCH!! I AM VERY PROUD OF YOU
Vertex:
= grundlegendes Element in 3D-Grafik
- definiert die Position eines (Eck-)Punktes im Raum
- Information über Rotation gespeichert
- weitere Infos in Vertex Map
Edge:
= Kante
- Linie, die 2 benachbarte Vertices eines Polygons verbindet
Polygon (Polyface):
= geometrische Struktur, die aus einer Menge an Eckpunkten (Vertices) und den dazugehörigen Kanten (Edges) besteht
- geschlossene Fläche
- kann je nach Anzahl der Vertices ein Dreieck, Quadrat oder anderes n-Gon sein
- enthält infos wie Farben, Texturkoordinaten oder Normalvektoren für Beleuchtungsberechnungen
-> Mesh entsteht dann aus allen Polygonen
Welche Maps kann ein Vertex speichern?
Texture - 2D Modell eines 3D-Objekts
Weight - Wert zwischen -100 und 100, gibt Grad der späteren Deformation an (z.B. bei Knochen, wo sich Körper nacher mehr bewegen soll)
Colour
Selection
Was bedeutet Rendern und welche 3 Prozesse gehören dazu?
Rendern = Erzeugung eines Bildes aus Rohdaten bzw. geometrische Beschreibung im 2D/3D Raum
1. Verdeckungsberechnung: Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte
2. Shading: Simulation des Aussehens der Oberflächen
3. Berechnung der Lichtverteilung innerhalb der Szene
Was ist der Unterschied zwischen Flat Shading und Smooth Shading? Wie hängt das mit den Normalen zusammen
Normalen:
- Face Normale = Flächen-Normalvektor, repräsentiert Ausrichtung der Fläche als Ganzes (meist senkrecht zu Fläche)
- Vertex Normale = Eckpunkt-Normalvektor, zeigt durchschnittliche Ausrichtung der umliegenden Flächen vom Vertex aus (Durchschnitt der Face-Normalen)
-> verwendet für Beleuchtungsberechnung und für glattere Oberflächendarstellung
Flat Shading:
= jede Fläche eines 3D Modells bekommt eine einzelne Farbe zugewiesen
- jede Fläche unabhängig betrachtet, keine Übergänge -> kantiger, flächiger Look für einfache Modelle
-> Beleuchtungsmodell basiert auf der Flächen-Normalen
Smooth Shading:
= weiche Übergänge zwischen einzelnen Flächen durch kontinuierliche Schattierung
-> erzeugt Rundungen, Kurven, sanfte Übergänge
-> glatter, organischer und realistischer Look, der subtile Lichteffekte auf der Oberfläche erlaubt
-> Beleuchtungsmodell durch Interpolierung der Vertex-Normalen (Kreuzprodukt aus v0v1 und v0v2)
=> Problem der Facettenhaften Silhouette bleibt trotzdem -> Lösung nur durch Subdivision Surfaces oder Erhöhung der Anzahl der Polygone/Dreiecke für glatte Oberfläche
Erklären Sie die grundlegende Funktion des Gouraud Shadings.
= intesity-interpolation surface rendering
1. Bestimmung des durchschnittlichen Normalenvektors an jedem Vertex des Polygons
2. Verwendung eines Beleuchtungsmodells auf jedem Vertex, um die Lichtintensität an dieser Position zu erhalten
3. Lineare Interpolation der Vertexintensitäten über die projizierte Fläche des Polygons (entlang der Kanten und Scanlines)
Probleme:
- Objekte erscheinen stumpf und kreidig
- es fehlt genaue Glanzkomponente
- Mach banding (Diskontinuität der Farbübergänge)
Diffuse Shading - Formel nach Lambert und erklären.
- Lambert Shading kann nur diffus berechnen
= vereinfachtes Modell das annimmt, dass die Oberfläche das Licht in alle Richtungen gleichmäßig verstreut (diffus reflektiert)
- Spekulare Reflexion, Transparenz oder andere Beleuchtungseffekte werden nicht berücksichtigt
Lambertsches Gesetz:
= Intensität der diffusen Reflexion ist proportional zum Cosinus des Winkels zwischen Oberflächennormalen und Lichtquelle
-> Je flacher Licht auf eine Oberfläche fällt, desto dunkler erscheint diese Oberfläche
-> Lichtmenge, die eine Oberfläche empfängt, ist direkt proportional zum Winkel zwischen der Oberflächennormalen N und die Lichtrichtung L
Θ (Theta) = Winkel zwischen Oberflächennormalen N und Lichtrichtung L
Winkel -> cosΘ = N ∘ L
I = Helligkeit der Lichtquelle
Kd = diffuser Reflexionskoeffizient (% Abgabe des einfallenden Lichts, 0 bis 1)
Formel für Pixelfarbe:
L = Kd ⋅ I ⋅ cosθ = kd ⋅ I ⋅ (N ∘ L)
Albedo:
albedo = reflektiertes Licht/einfallendes Licht
-> wie viel des Lichts auf der diffusen Oberfläche wird wieder reflektiert?
Diffuse Surface Colour = albedo ⋅ kd ⋅ I ⋅ (N ∘ L)
Phong Shading - Formeln und erklären.
= Berechnung von Glanzlichtern zusätzlich zur diffusen Oberfläche nach Lambert
-> Erstellen eines Reflexionsvektors R durch spiegeln von L an N
-> Berechnung Skalarprodukt R ∘ E
-> Spiegelexponent n: kleines n = großes Glanzlicht, großes n = kleines Glanzlicht
Formel:
I spec = L incident ⋅ K spec ⋅ (R ∘ E) ^n
Erklären sie rekursives Ray Tracing und die Vorteile gegenüber einem nicht rekursiven Ray Tracing.
Wie werden hier die Pixelwerte berechnet?
Ray Tracing = Verfolgung der Lichtstrahlen von der Kamera in die Szene
-> Verdeckungen, Schatten, Reflexionen und Transparenzen werden berechnet
Rekursives Ray Tracing:
- Bei Reflexion oder Brechung werden neue Strahlen erzeugt und verfolgt
-> erhöht Detailgenauigkeit
-> Wiederholte Rekursion erzeugt Reflexionen von Reflexionen und Brechungen von Brechungen
-> Rekursionstiefe: bestimmt die Anzahl der verfolgten Reflexionen oder Brechungen
-> Secondary Rays werden so lange generiert, bis Rekursionstiefe erreich ist oder kein bzw. ein nicht reflektierendes Objekt mehr getroffen wird.
-> Die jeweiligen Beleuchtungsmodelle der einzelnen Spiegelungen und Transparenzen werden in Baumstruktur rekursiv nach oben übermittelt
Erklären Sie die Probleme des Aliasing beim Ray Tracing und wie man diese Probleme vermeiden kann.
- Aliasing kommt von zu geringerer Abtastfrequenz
-> Treppchenbildung, da Werte auf Achse ungenau
Stochastische Verteilung der Ray Locations:
- Flächen werden evtl. gar nicht gesampled
- Manche Bereiche sind übersampled
-> Supersampling: Mehrere Samples pro Pixel (höhere Rechenleistung) statt nur einem
-> Adaptive Supersampling:
= einheitliche Flächen brauchen kein Supersampling, detailreiche Flächen dagegen mehr
-> zunächst wenige Rays pro Pixel
-> Farbwertvergleich: bei geringen Abweichungen nicht mehr Rays, bei größeren Abweichungen mehr supersamples
Wie erhält man beim Ray Tracing weiche Schatten und Glossy Reflections?
-> exakte Rays werden berechnet
-> der exakte Ray wird leicht vom Original variiert.
= jittered rays
Weiche Schatten
-> Lichtquellen sind keine idealen Punktquellen, sondern haben Radius
-> zunächst wird Penumbra (Halbschatten) und Umbra (Komplettschatten) aus der tatsächlichen Fläche der Lichtquelle berechnet
-> danach durch distributed Rays geglättet
a) Reflexion b) Transparenz c) Schatten
Wie wird das Depth of Field beim Raytracing berechnet?
Für realistisches Depth of Field wird sozusagen virtuelle Blende erstellt --> man erhält Schärfeebene
1. Festlegen des Fokuspunkt (von Zentrum der Linse zum Fokuspunkt)
2. Weiterer Ray Startpunkt von einem Jitter Punkt auf der Linse zum Fokuspunkt (Schnittpunkt der zwei Rays)
3. Übermitteln der Lichtintensität des Jitter Rays
4. Je nach Sample-Wert werden mehrere Jitter Rays berechnet
-> alle Objekte, die nicht in der Fokusebene liegen, werden interpoliert unscharf wiedergegeben
Erklären Sie den Ablauf und die Arbeitsschritte beim Distributed Ray Tracing.
Für jedes Pixel --> mehrere Rays pro Pixel
Berechnung für jeden Ray:
1. Spatiales Streuen der Rays (Jitter) auf Bildebene
-> Antialiasing
2. Auswählend des Sample-Zeitpunktes für den Ray und entsprechendes Verschieben der Objekte zu diesem Zeitpunkt
-> Sampling für Motion Blur
3. Durchführen Depth of Field Berechnung
4. Berechne gestreute reflection rays
5. Berechne gestreute transmission rays
6. Berechne gestreute shadow rays
Erkläre die Begriffe UV-Mapping, UV-Shell und UV-Layout.
gleich fertig whoop whoop
fun fact: wusstest du dass Rubine und Saphire das gleiche Material sind, nur mit anderer Farbe?
UV-Mapping
UV-Raum = 2D-Koordinatenfläche, die das gesamte Modell abdeckt -> Jeder Punkt im Modell hat entsprechende Position im UV-Raum
-> Unwrap = Entfalten der 3D-Struktur in 2D Fläche
-> Texturierung = 2D Fläche kann texturiert werden und wird diese wird automatisch auf 3D Modell projiziert
-> Mapping kann planar, zylindrisch oder kugelförmig erfolgen
-> gutes Mapping = gleichmäßige Unterteilung, minimale Verzerrungen und Nahtlinien, speichersparend
UV-Shell = Einzelne Teile oder Flächengruppen der ausgeschnittenen Objekte
-> ermöglichen separate Bearbeitung und Texturierung der verschiedenen Teile des Modells
UV-Layout
= Anordnung der einzelnen shells im UV-Raum
-> Platzierung und Skalierung der UV-Shells
-> vermeidet Texturverzerrungen, sichtbare Nahtlinien und Überlappungen
-> So platzsparend wie möglich anordnen (UV-Packing)
Was sind UDIMS und was ist der Vorteil?
UVs spielen sich eigentlich nur in einem Quadranten ab
-> bei großen Objekten kann das entweder zu Verlust von Auflösung oder bei ausreichender Aulösung zu sehr hohem Rechenbedarf führen
UDIMs (U-Dimensional Tiles)
= Erweiterung des UV-Texturierungsbereiches über einzelne UV-Koordinate hinaus
-> eine Map wird auf mehrere Quadrate (Tiles) aufgeteilt, jede Tile repräsentiert einen Bereich des Objekts, der separat texturiert werden kann
-> verwenden numerisches System für die Tiles (beginnend bei 1001)
Vorteile:
- verschiedene Auflösung je nach Bedarf des jeweiligen Modell-Bereiches möglich
- einfachere Organisation und Benennung der Teilbereiche
- einfacheres Packing (spart Speicher)
WIRD GEFRAGT!
Wie werden 3D Koordinaten in den 2D UV Space übertragen?
= für jedes Polygon des Modells muss das entsprechende Polygon in der Textur festgelegt werden
-> Verteces sind klar, aber allen Punkten zwischen den Vertices muss die Textur zugeordnet werden -> wie finde ich raus, an welchen 3D-Punkt genau ich welche Textur der 2D Map projizieren muss?
- Baryzentrischen Koordinaten (u,v,w): Berechnung der Position eines Punktes relativ zu den Eckpunkten eines Dreiecks anhand der Gewichtungen α, β, γ (Gewichtung = wie nah ist der Punkt jedem der drei Eckpunkte?)
-> Große Dreiecksfläche wir in 3 weitere, kleinere Dreiecke unterteilt
-> Summe der Gewichtungen beträgt immer 1 (α+β+γ = 1)
-> Berechnung der Gewichte mit Determinanten (Lösungszahl aus einer quadratischen Matrix)
-> α = Det (PBC) / Det (ABC)
-> β = Det (ACP) / Det (ABC)
-> γ = Det (ABP) / Det (ABC)
(jeweils kleines Dreieck durch großes gesamtes Dreieck)
UV-Koordinaten an P werden anhand der Eckpunkte ABC und mithilfe der baryzentrischen Koordinaten interpoliert:
UV(P) = α * UV(A) + β * UV(B) + γ * UV(C)
Was ist Texel Density und wie wird es berechnet?
UND YASSSS DIE LETZTE FRAGE!!
Danke nochmal dass du mir so geholfen hast in VFX, ich hoffe du kriegst dein Fach und kannst aceeeen.
Und dann geb ich dir abends ein Bier aus :D
Texel (Texturelement) = grundlegende Einheit des Texturraums
- Texturen auf 3D-Objekten werden durch Texel dargestellt wie Bilder durch Pixel
-> Texel ist wie ein Container, der mehrere Pixel aufnehmen kann
Texeldichte hängt von Texturauflösung und Objektgröße ab:
Texturauflösung in px / Objektgröße in cm = Texel Density in px/cm
-> bei größerem Objekt und gleicher Auflösung wird Objekt blurry, da Texeldichte sinkt!
-> immer Mindest-Texeldichte des Assets ermitteln und am besten konsistent halten
HERZLICHEN GLÜCKWUNSCH, SIE HABEN EINE 1.0 IN VFX ERHALTEN!
GUTSCHEIN FÜR EIN AUTOGRAMM VON JAN ADAMCZYK
(bringen Sie dieses einfach zur 6-Fächer-Prüfung mit)
<333
thank you! Diese Nachrichten waren echt cute :)
Last changed7 months ago