Bac Prüfung Flashcards
VERTEX DATA
• Vertex Stream wird an die GPU zum Rendern übertragen
o Der Vertex Stream ist eine Liste an Vertex Daten
o Vertex Daten repräsentieren 2D/3D Objekte (x, y, z)
o Vertices sind (Eck)Punkte, wo sich mehrere gerade Linien treffen und ein Objekt formen.
PRIMITIVE PROCESSING
• Vertex Stream wird verarbeitet
• Primitive-Vorgabe wird gesetzt
o Punkte
o Linien
o Dreiecke
TRANSFORM AND LIGHTING
• Vertex Positionen und Vertex Normale werden in den View Space transformiert
o View Space = Was die Kamera sieht / Was am Bildschirm zu sehen ist
o Passiert mittels Model-View Matrix
▪ Model-View Matrix entsteht, wenn Model Matrix und View Matrix multipliziert werden. Jedes Objekt hat seine eigene Model Matrix (Translation, Rotation, Skalierung), aber alle Objekte haben die gleiche View Matrix (bestimmt von der Kamera).
• Anschließend werden für jeden Vertex die Beleuchtungsinformationen berechnet
PRIMITIVE ASSEMBLY
• Konvertierungen der Primitive Vorgaben in Base Primitives
• Formen werden „gezeichnet“
o Bsp.: aus der TRIANGLE_STRIP Vorgabe werden nun die einzelnen Dreiecke erzeugt
• Transformation in das normalisierte Koordinatensystem
o Werte von -1 bis 1
• Transformation in den Screen Space
o Screen Space = 2D Ebene, quasi wirklich der Screen (Bildschirm)
RASTERIZER
• Transformierte Primitive werden zu Fragmenten diskretisiert
o Ein Fragment ist eine Menge von Daten (Farbe, Koordinaten, Alpha, …), die letztlich zur Festlegung des finalen Farbwertes eines Pixels führen.
TEXTURE ENVIRONMENT
• Finaler Farbwert des Fragments wird ermittelt
COLOR SUM
• Wird verwendet, um sekundäre Farbinformationen nach dem Setzen der Texturinformation dem Fragment hinzuzufügen.
FOG
• Simuliert Nebeleffekte
o Farbeffekt auf Geometrie die sich, je weiter weg vom Betrachter, zu der Nebelfarbe aus-faden/dimmen soll
ALPHA TEST
• Prüft auf Transparenz und entscheidet ob ein Fragment in die nächste Stufe kommt
DEPTH AND STENCIL
• Stencil Buffer ist eine optionale Erweiterung des Depth Buffers
o Gibt Kontrolle darüber, welche Fragmente gezeichnet werden sollen und welche nicht
o Für Reflektionen und Object Outlining
• Depth Buffer entthält die Distanz der Fragmente zur Screen Plane
COLOR BUFFER BLEND
• Blend-Funktion für das aktuelle Fragment wird ausgeführt
o Unter Blending versteht man das Zusammenführen von Farbwert + Alpha des „Source“ Fragmentes mit dem „Destination“ Fragment.
o Fragmente, die bereits „geschrieben“ sind, werden als „Destination“ bezeichnet
o Fragmente, die gerade geschrieben werden, werden als „Source“ bezeichnet.
DITHER
• Das Dithering, auch als Fehlerdiffusion bezeichnet, ist eine Technik in der Computergrafik, um bei Bildern, die aufgrund technischer Einschränkungen mit verringerter Farbtiefe wiedergegeben werden müssen, die Illusion einer größeren Farbtiefe zu erzeugen. Dithering ist eine Art des Rasterns.
FRAME BUFFER
• Bildspeicher (Endstation)
• Jedem Bildschirmpixel wird ein Bereich des Framebuffers zugewiesen
Bestandteile der Fixed Funktion Pipeline
• Vertex Data
• Primitive Processing
• Transformation and Lightning
• Primitive Assembly
• Rasterizer
• Texture Environment
• Color Sum
• Fog
• Alpha Test
• Depth and Stencil
• Color Buffer Blend
• Dither
• Frame Buffer
Bestandteile Programmable Pipeline
• Vertex Data
• Primitive Processing
• Vertex Shader (Neu)
• Translation Control Shader (Neu)
• Tessellator (Neu)
• Tessellation Evaluation Shader (Neu)
• Geometry Shader (Neu)
• Primitive Assembly
• Rasterizer
• Fragment Shader (Neu)
• Depth and Stencil
• Color Buffer Blend
• Dither
• Frame Buffer
Programmable Pipeline VERTEX SHADER
• Vereint die Funktionen „Transform and Lighting“ der Fixed Function Pipeline
• Berechnung der Position im World Space für jeden Vertex
o Wolrd Space = „Welt“ innerhalb der 3D Szene, nicht der 2D Screen Space
Prog Pipeline TESSELATION SHADER
• Aufgabe: Zerlegung von Flächen (Patches) in noch kleinere Flächen (Drei- oder Vierecke) = Verfeinerung der Geometrie
o Tesselation Control Shader
▪ Kontrolliert den Tesselationsgrad
o Tesselator
▪ Erzeugt die neuen, tesselierten Primitives
▪ Zerlegt jeden Input-Patch in Output-Patches, üblicherweise Drei- oder Vierecke
o Tesselation Evaluation Shader
▪ Kann nun die neu erzeugten Vertices verschieben
Prog Pipeline GEOMETRY SHADER
• Kann für das zusätzliche Erzeugen von Geometrieinformationen verwendet werden
• Erzeugt neue Primitives aus bereits vorhandene Primitives
Prog Pipeline FRAGMENT SHADER
• Vereint die Funktionen (Texture Blending, Color Sum und Fog) der Fixed-Function Pipeline.
• Der Entwickler ist für die Implementierung der benötigten Funktionen verantwortlich.
• Die Hauptaufgabe des Fragment-Shaders ist es, die finale Farbe eines Fragments zu errechnen.
Teile der Grafics Pipeline
• Model to World Tran
• Illumination (Shading)
• Viewing Transformation
• Clipping
• Projection - Screen Space
• Scan Convertion ( Rasterization)
• Visibility/Display