Computergraphik
Grundlagen der Computergraphik mit C# und OpenGL
Grundlagen der Computergraphik mit C# und OpenGL
Set of flashcards Details
Flashcards | 74 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 13.01.2014 / 10.11.2024 |
Weblink |
https://card2brain.ch/box/computergraphik
|
Embed |
<iframe src="https://card2brain.ch/box/computergraphik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was ist MIP-Mapping?
Die Idee dahinter ist, eine Textur bereits vor der Anwendung mit mehreren Verkleinerungen anzulegen, um
diese je nach Distanz zum Betrachter einzusetzen.
Was ist Trilineare Filterung?
Der Ubergang von einem MIP-Level zum nächsten fällt besonders bei grossen Fl ̈achen mit gleicher Textur auf. Die verschieden aufgelösten MIP-Level bilden dabei eine scharfe Kante. Beim trilinearen Filtern werden nun zuerst die entsprechenden Texel der zwei MIP- Levels bilinear gefiltert und diese dann noch einmal linear (eben tri) zwischen den beiden MIP-Levels.
Was ist Anisotropische filterung?
Die trilineare Filterung hat nur noch einen Mangel. Die perspektivische Verzerrung wird zwar bei der Bestimmung der Texel-Position berücksichtigt, bei der bilinearen Interpolation f ̈allt sie aber unter den Tisch. Man müsste Texturen, auf die man sehr schräg sieht, mit anderen Verfahren filtern als jene, auf die man senkrecht sieht. Da für beste Qualität nicht mehr isotrop, also gleichmässig gefiltert werden kann, muss das ungleichmässig (sprich anisotrop) getan werden. Beim bilinearen Filtern werden bekanntlich nur 4 Texel gemischt. Für den trilinearen Filter sind 2 bilinear gefilterte Texel.
Heightfield Bump Mapping
Parallax Mapping
Normalmap Bump Mapping
Wie funktioniert Heightfield Bump Mapping?
Die Normale wird durch einen Vektor D abgelenkt, indem er zur Normalen hinzuaddiert wird. Der Ablenkungsvektor D berechnet sich aus den Tangentialvektoren T und B (Binormale) sowie aus der partiellen Ableitung d (= Grauwertsteigung) bei der Texturkoordinate s,t in der Bumpmap.
Wie funktioniert Normalmap Bump Mapping?
Eine Verbesserung hinsichtlich der Performanz ist das sogenannte Normalmap Bump Mapping. Dabei wird die bereits abgelenkte Normale im Tangentenraum in einem RGB- Bild abgespeichert. Die Koordinatenkomponenten x, y und z entsprechen den Farbkomponenten r, g und b.
Wie funktioniert Parallax Mapping?
Die Grundidee besteht darin die Texturkoordinaten (im Bild neben an nur die T-Komponente) so zu dehnen, dass wir sie den Höhen entsprechend richtig sehen. Für den Punkt P im Bild neben an würden wir ohne Parallax Mapping das Texel bei T erhalten, obwohl wir eigentlich die Farbe bei T_I (deal) sehen sollten. Um diese Berechnung zu vereinfachen, beschränkt man den Versatz um die H ̈ohe H entlang des Augvektors E.
Texture Mapping Reihenfolge
1. Texturnamenanlegen.
2. Textur binden(aktivieren).
3. Texturparameter setzen.
4. Texturdaten übergeben
5. Mipmap-Level generieren.
RayTracing Verbesserungen
- Irrandiance Caching
- Light Cuts
- Raumunterteilung
- Ray marching
Was ist Photon Tracing?
Dabei werden Photonen per Zufall in einer Szene verfolgt. Trefen die Photonen eine oberfläche, so wird mit
einem zweiten Strahl getestet, ob der Schnittpunkt vom Auge aus sichtbar ist.
Was ist Raytracing?
Die Strahlen werden com Auge ausgehend durch ein Pixel des Bildes in die Szene verfolgt. Trifft ein Strahl auf ein reflektierendes Objekt, so wird ein gespiegelter Strahl weiterverfolgt. Ist das Objekt transparent, so wird ein gebrochener Strahl weiterverfolgt. Diese neuen Strahlen werden rekursiv, mit derselben Funktion behandelt, wie der vom Auge ausgehende Strahl. Die Strahlenverfolgung wird abgebrochen, wenn:
• Der Strahl auf den Hintergrund trifft
• Der Strahl auf eine rein diffuse Oberfläche trifft
• Die Rekursionstiefe einen Maximalwert erreicht
• Die Strahlenbeitragskraft einen Minimalwert unterschreitet
Zur Berechnung der Farbintensität muss von jedem Sichtpunkt aus zus ̈atzlich ein sogenannter Schattenstrahl zu jeder Lichtquelle geschickt werden. Schneidet dieser auf seinem Weg ein Objekt, dann liegt der betrachtete Punkt im Schatten und der Betrag der Lichtquelle wird bei der Beleuchtungsberechnung nicht ber ̈
ucksichtigt.
Was kann mit Distributed Raytracing alles gemacht werden?
Antialiasing
Verschickt man mehrere Primärstrahlen vom Blickpunkt durch verschiedene Orte des Pixels, so kann man die erhaltenen Farbwerte mitteln und erreicht dadurch ein Antialiasing
Motion Blur (Bewegungsunschärfe)
Verschickt man mehrere Primärstrahlen durch ein Pixel, während man ein Objekt verschiebt, so kann
man eine Bewegungsunschärfe erzeugen.
Depth of Field (Tiefenunschärfe)
Verschiesst man mehrere Primärstrahlen von einer Linsenscheibe durch einen Punkt auf der Schärfenebene, so kann man Tiefenunschärfe realisieren.
Weshalb wird Distributed Raytracing benutzt?
Weil RT immer nur einen Primärstrahl, einen reflektierten Strahl, einen gebrochenen Strahl und ein Schattenfühler verschiesst, erhalten wir die perfekt scharfen Bilder. Dies mag reizvoll sein, entspricht aber relativ schlecht der Ralität, wo oft auch diffuse Spiegelungen und Transparenzen sowie Halbschatten vorkommen.
Wie funktioniert Radiosity?
Im ersten Schritt wird vom Blickpunkt unabhängig der Austausch der Strahlungsst ̈arke, beginnend bei selbstrahlenden Patches der Lichtquellen und allen anderen Patches berechnet. Dabei wird nur die rein diffuse Reflexion berücksichtigt. Nachdem der Strahlungsaustausch von allen Lichtpatches berechnet wurde, geht der Algorithmus der Stärke nach durch alle bestrahlten Patches. Am Schluss des ersten Schrittes weiss jeder Patch seine direkte und indirekte Bestrahlungsstärke. Im zweiten Schritt kann das Bild gerendert werden, indem für jedes Pixel die Radiosity der sichtbaren Patches interpoliert zurückgegeben wird.
Was ist der Vorteil an Radiosity?
Der Vorteil des Radiosity Algorithmus ist seine relativ effiziente Berechnung der indirekten Beleuchtung, die
aus der diffus-diffusen Reflexion kommt. Man hat viel Forschungsaufwand in diesen Algorithmus investiert, weil in der Innenraumbeleuchtungssimulation der gr ̈ostte Teil aus dieser Reflexion stammt.
Wie funktioniert Irrandiance Caching?
- Benachbarte Raumpunkte mit ahnlicher Normale werden ahnlich Beleuchtet
- Nicht fur jedes Pixel die globale Beleuchtung neu berechnen
Wie funktioniert Light Cuts?
Dies ist Final Gethering Verfahren, um Szenen mit enorm vielen Punktlichtern ezient zu rendern. Alle Punkte zu verwenden ist zu zeitaufwandig, daher wird eine Herachie der Punkte generiert. Beim Final Gethering wird die Punkthierarchie traversiert und pro Knoten entschieden, ob dieser als Sender verwendet werden kann oder weiter unterteilt werden muss, da der resultierende Fehler zu gross wird. Pro Pixel im Bild wird also ein individueller Cut durch die Hierarchie gebildet. Als Sender werden nur Knoten aus dem Cut verwendet, dadurch werden es deutlich weniger Punkte. Die Knoten im Cut werden in einer Priority Queue gespeichert. Der Knoten mit der grossten zu erwartenden Anderung wird aus der Queue entnommen und durch seine beiden Kinder ersetzt.
Wie funktioniert Raumunterteilung?
Die Grundidee der Raumunterteilung liegt wiederum in der Reduktion der potenziellen Schnittpunkttests. Der Raum und damit die Anzahl Objekte werden dabei so verkleinert, dass nur noch wenige Objekte in einer Raumzelle als Schnittpunktkandidaten infrage kommen. Bei der Verfolgung entlang eines Strahls werden nur noch jende Raumzellen betrachtet, durch die ein Strahl geht. Es haben sich verschiedene Unterteilungsstrategieen entwicklet, die je nach Objektdichte und Verteilung besser oder weniger gut geeinget sind.
Wie funktioniert Ray Marching?
Schnitttests bei RayTracing sind aufwandig. Alternative: Ray Marching, bei dem nicht ein Schnitttest durchgeführt wird, sonder beim abgeschossenen Strahl in einem de nierten Abstand t gepruft wird, ob der Punkt auf dem Strahl innerhalb einer Geometrie liegt oder nicht. Um diesen Test durchzufuhren, braucht jedes Objekt eine Distance Field. De nition Distance Field: Funktion, die fur jeden Raumpunkt die Distanz zum nachsten Ober achenpunkt berechnet. Dabei kann diese Funktion signed oder unsigned sein. Der Unterschied zwischen signed und unsigned liegt darin, dass, falls der Punkt auf dem Strahl innerhalb der Geometrie liegt, die Distanzfunktion negativ wird. Um ein Objekt darzustellen braucht es nichts weiteres als eine Distance Field Funktion. Geometrie oder Oberache eines Objektes mussen somit nicht de niert werden. Beispiel Distance Field einer Sphere: float sdSphere( vec3 p, float s ) return length(p)-s; Erklarung Beispiel: p ist der Punkt, der beim Ray Marching berechnet wurde und s die Grosse der Sphere. Die Berechnung wird dabei im Ursprungspunkt durchgefuhrt. Das heisst die Sphere sowie ein Ende des Vektors p liegt im Ursprungspunkt. Falls die Lange des Ortsvektors p kleiner ist als der Radius der Sphere, liegt p innerhalb der Sphere. Berechnung t: t wird immer um die Distanz erhoht, die mit per Distance Field berechnet wurde. Schattierung: Ambient Occlusion kann berechnet werden, indem vom Punkt, der bei der Ray Marching berechnet wurde ein Strahl Richtung Lichtquelle geschickt wird.
Wie funktioniert Path Tracing?
Dies ist der erste Algorithmus der einen vollstandigen globalen Beleuchtungsalgorithmus besitzt. Beim Path Tracing wird bei jedem Schnittpunkt nur ein Strahl so lange weiterverfolgt, bis er entweder absobiert wird oder in einer Lichtquelle endet. Im Unterschied zum RT werden im PathTracing auch diffus reflektierte Strahlen weiterverfolgt. Um fur ein Pixel die korrekte Farbe zu erhalten, mussen viele Pfade verfolgt werden, deren ertrag am Schluss gemittelt wird.
Schnittpunkt Behandlung bei Path Tracing
Was bei einem Schnittpunkt passiert, wird mit einer Zufallsvarialen zwischen 0 und 1 entschieden. Je nach Zufallszahl und den Reflexionskoe zienten wird der Strahl diffus reflektiert, spekular reflektiert, gebrochen oder absobiert. Bei den Reflexionskoezienten handelt es sich um Wahrscheinlichkeiten zwischen 0 und 1, die man bei RGB-Koezienten durch Drittelung der summierten Komponenten bekommt.
Losen der Rendering-Gleichung durch Monte-Carlo Integration
Wo durch das Pixen ein Primarstrahl geschossen wird oder in welche Richtung ein Strahl re ektiert oder gebrochen wird, wird ebenfalls anhand von Zufallszahlen bestimmt. Mathematisch gesehen entspricht das Abtasten durch zufallige Lichtpfade dem Losen der Rendering-Gleichung durch Monte Carlo Integration. Diese Technik kann zum Losen von komplexen Integralen verwedet werden.
Wie funktioniert Bidirektionales Path Tracing?
Die Idee dahinter ist, dass gewisse Lichtpfade besser von der Lichtquelle aus verfolgt werden, anstatt vom Auge aus. Die sgilt insbesondere fur PFade die fur Lichtbundelungen verantwortlich sind. Das PRoblem ist, dass die Wahrscheinlichkeit mit der ein Strahl bei der diffusen Reflexion in Richtung der ersten spekularen Reflexion geleitet wird, sehr klein ist. Bei der diusen Reflexion kann der Strahl per Zufall in alle Himmelsrichtungen reflektiert werden. Um diesen energiereichen Pfad zu nden, brauchte es daher sehr viele Samples und auch dann waren die Lichtbundelungen noch starkt verrauscht. In umgekehrter Richtung ist die Wahrscheinlichkeit des Pfades aber sehr hoch, da er bei den spekularen Reflexionen kaum abweichen kann. Obwohl bidirektionales PAth Tracing Lichtbundelungen besser erzuegen kann als reines Path Tracing, so leidet die bidirektionale Variante in vielen Fallen immer noch unter Rauschen.
Wie funktioniert Photon Mapping?
Der Algorithmus erhalt seinen Namen durch eine Datenstruktur in der Photonen unabhangig von der Geometrie der Objekte gespeichert und gesucht werden konnen. Er ist in zwei durchgange aufgeteilt: Photon Tracing Im ersten Durchgang werden Pthotonen von den Lichtquellen in die Szene geschossen. In der Szene interagieren die Photonen mit den vorhandenen Objekten und werden von diesen reflektiert, transmittiert oder absobiert. Beim Auftreen auf eine diuse Oberfläche werden die Photonen in der Photonenmap gespeichert. Rendering Der zweite Durchgang entspricht dem vom Path Tracer bekannten Rendering. hier wird nun fur jeden Schnittpunkt, der auf einer diffusen Oberfläche liegt zusatzlich anhand der im Photon Tracing angelegten Photonmap abgeschatzt wie viel indirektes diuses LIcht an diesem Punkt angekommen ist.
Wahrnehmung für Stereoskopie (5)
- Tiefenunschärfe
- Abnehmende Grösse
- Zunehmender Dunst
- Schattenbildung
- Bewegungsparallaxe
Arten der Stereobildwiedergabe? (2)
Projektion nebeneinander
Techniken wie das Spiegelstereoskop, Stereoskope und Stereobrillen fuhren den beiden Augen durch Spiegel, spezielle Linsen oder Brillen getrennt das jeweilige Bild zu. Sie haben den Vorteil, dass sie eine hundertprozentige Bildtrennung gewahrleisten aber auch den Nachteil, dass sie auf einen Betrachter beschrankt sind.
Projektion übereinander
Arten von Projektion übereinander? (4)
- Trennung durch Polarisation
- Trennung durch Interferenzfilter
- Zeitliche Trennung durch Shutter-Brillen
- Trennung durch Farbfilter
Welche Parallaxen existieren und wie entstehen sie?