Definitionen
Präzise Kurzdefinitionen aller prüfungsrelevanten Fachbegriffe des Kurses, nach Themen gruppiert. Jeder Eintrag: deutscher Begriff mit englischem Fachwort und einer knappen Definition.
Grundlagen
- Visual Computing (DE) / visual computing - Oberbegriff für Computergrafik (Synthese) und Bildverarbeitung (Analyse); verbindendes Element ist das Pixel.
- Computergrafik / Bildsynthese (DE) / computer graphics / image synthesis - Weg von der Bildbeschreibung zum Bild, also das algorithmische Einfärben der Pixel.
- Bildverarbeitung / Bildanalyse (DE) / image processing / image analysis - Weg vom (realen) Bild zur Beschreibung des Bildinhalts, also das algorithmische Analysieren der Pixel (umgekehrte Richtung zur Computergrafik).
- Bildbearbeitung (DE) / image editing - einfache Manipulation eines Bildes (z. B. heller machen), im Gegensatz zur Bildverarbeitung, die Information extrahiert.
- Pixel (DE) / pixel (picture element) - kleinstes Bildelement des Ausgabebildes, beschrieben durch seine RGB-Anteile.
- Rasterisierung (DE) / rasterization - vertex-/objektbasiertes Rendering: Eckpunkte werden auf Pixel projiziert und die Dreiecksflächen gefüllt; Nebeneffekt ist Aliasing.
- Raytracing (DE) / ray tracing - pixel-/bildbasiertes Rendering: von der Kamera ausgehende Sehstrahlen werden in die Szene verfolgt, Schattenstrahlen prüfen die Verschattung.
- Path Tracing (DE) / path tracing - Variante des Raytracing mit realistischen Spiegelungen und indirekter Beleuchtung, aber Sampling-Rauschen und hohem Rechenaufwand.
- Dreiecksgitter (DE) / triangle mesh - Annäherung einer Objektform durch mit Kanten zu Dreiecken verbundene Punkte; je feiner, desto glatter.
- Convolutional Neural Network (DE) / CNN (ConvNet) - Netzwerk aus gelernten Faltungsmatrizen zur Objekterkennung, aufgeteilt in Feature Extraction und Classification.
Transformationen
- Affine Transformation (DE) / affine transformation - Oberbegriff für Translation, Rotation und Skalierung; Parallelität und Teilverhältnisse bleiben erhalten.
- Translation (DE) / translation - Verschiebung durch Vektoraddition , ohne Änderung von Orientierung oder Größe.
- Rotation (DE) / rotation - Drehung um eine Achse relativ zum Ursprung, als Matrixmultiplikation; die Spalten der Rotationsmatrix sind die Bilder der Einheitsvektoren.
- Skalierung (DE) / scaling - komponentenweise Größenänderung mit Faktoren ; wirkt relativ zum Ursprung, sodass nicht im Ursprung liegende Objekte mitwandern.
- Homogene Koordinaten (DE) / homogeneous coordinates - Erweiterung um eine zusätzliche Koordinate , damit auch die Translation als Matrixmultiplikation (in einer -Matrix) darstellbar ist.
- Homogenisierung / perspektivische Division (DE) / homogenization / perspective divide - Rückkehr in den euklidischen Raum durch Teilen aller Koordinaten durch (mit ).
- Nicht-Kommutativität (DE) / non-commutativity - Matrixmultiplikation ist reihenfolgeabhängig (); bei Spaltenvektoren steht die zuerst wirkende Transformation ganz rechts.
- Akkumulierte Matrix (DE) / accumulated matrix - eine einzige Matrix, zu der OpenGL alle Transformationen zusammenmultipliziert und einmal pro Vertex anwendet.
- Referenzpunkt-Transformation (DE) / reference point transform - Drehen/Skalieren um einen beliebigen Punkt via .
- Szenengraph (DE) / scene graph - gerichteter azyklischer Graph (DAG) aus Gruppen-, Geometrie- und Transformationsknoten; Kinder erben die Transformationen der Eltern, Geometrien liegen in den Blättern und werden per Instanzierung wiederverwendet.
- Kartesisches Koordinatensystem (DE) / Cartesian coordinate system - Koordinatensystem mit senkrecht aufeinanderstehenden Achsen; rechtshändig (OpenGL, z zum Betrachter heraus) oder linkshändig (DirectX, z in den Bildschirm hinein).
OpenGL & Shader
- OpenGL (DE) / OpenGL - Spezifikation einer 3D-Grafik-API (rund 250 Befehle); die Implementierung steckt im Grafikkartentreiber.
- State-Machine (DE) / state machine - Arbeitsprinzip von OpenGL: ein gesetzter Zustand (z. B. gebundenes VBO) bleibt aktiv, bis er umgeschaltet wird; nicht explizit Aktiviertes bleibt aus.
- Primitiv (DE) / primitive - geometrischer Grundbaustein (Punkte, Linien, Dreiecke); Quad, Quad Strip und Polygon sind seit OpenGL 3.0/3.1 deprecated bzw. entfernt.
- Vertex / Eckpunkt (DE) / vertex - Punkt, der neben der Position beliebige Attribute (z. B. Farbe, Normale, Texturkoordinaten) speichert; alle Primitiv-Eigenschaften sind daraus ableitbar.
- Triangle Strip (DE) / triangle strip - Speichertechnik, bei der benachbarte Dreiecke Eckpunkte teilen; pro Strip gilt .
- Vertex Buffer Object (DE) / VBO - Speicherpuffer im GPU-Speicher für rohe Geometriedaten, per 3-Schritte-Upload (Gen, Bind, BufferData) gefüllt.
- Vertex Array Object (DE) / VAO - Objekt, das beschreibt, wie die rohen VBO-Daten zu interpretieren sind (Attributzeiger je Attribut); nur eines ist gleichzeitig aktiv.
- Index Buffer Object (DE) / IBO (element array buffer) - Puffer mit Indizes auf Vertices im VBO; ermöglicht Vertex-Wiederverwendung, gerendert per glDrawElements.
- stride / Schrittweite (DE) / stride - Größe eines kompletten Vertex in Bytes (Abstand zum nächsten gleichartigen Attribut).
- offset / Versatz (DE) / offset - Byte-Position, an der ein Attribut innerhalb des Vertex beginnt (ein float = 4 Byte).
- Shader (DE) / shader - kleines, in GLSL geschriebenes Programm, das parallel auf der GPU läuft und Daten vor bzw. während des Renderns manipuliert.
- Vertex Shader (DE) / vertex shader - Pflicht-Stufe pro Vertex; muss die finale homogene Position
gl_Position(vec4) setzen. - Fragment Shader (DE) / fragment shader - Pflicht-Stufe pro Fragment; muss mindestens eine Output-Variable mit der finalen Fragmentfarbe füllen.
- Fragment (DE) / fragment - Kandidat für ein Pixel; durchläuft nach dem Fragment Shader noch Tiefentest und Blending.
- Shaderpipeline (DE) / shader pipeline - feste Abfolge: Vertex, dann optional Tesselation und Geometry, dann Fragment; dazwischen die fixen Stufen Shape Assembly, Rasterization, Tests and Blending.
- Qualifizierer in/out/uniform (DE) / storage qualifiers -
in(READ-ONLY Eingabe der Vorstufe),out(READ/WRITE, automatisch interpoliert weitergegeben),uniform(READ-ONLY, pro Draw-Call konstant, per Name adressiert). - Swizzling / Smearing (DE) / swizzling / smearing - Umordnen der Vektorkomponenten (
v4.wzyx) bzw. Vervielfachen einzelner Komponenten (v4.xxx) über die Sets.xyzw/.rgba/.stqp.
Kameras & Projektion
- Normalized Device Space (DE) / normalized device space (NDC) - normierter Zielwürfel ; nur Vertices darin werden gerendert.
- Extrinsische Kameraparameter (DE) / extrinsic parameters - Position und Ausrichtung der Kamera (Kamerazentrum , Betrachtungspunkt , up-Vektor ), umgesetzt in der View-Matrix.
- Intrinsische Kameraparameter (DE) / intrinsic parameters - legen fest, welcher Bereich der Szene gerendert wird (Öffnungswinkel, Brennweite), umgesetzt in der Projektionsmatrix.
- View-Matrix (DE) / view matrix - transformiert die gesamte Szene in den Camera Space (Kamera im Ursprung, Blick entlang ); Produkt aus Rotation der Kameraachsen und Translation um , erzeugt per
lookAt. - Projektionsmatrix (DE) / projection matrix - bildet das Sichtvolumen auf den NDC-Würfel ab; entweder orthografisch () oder perspektivisch ().
- Orthografische Projektion (DE) / orthographic / parallel projection - parallele Projektionsstrahlen ohne perspektivische Verkleinerung; quaderförmiges Rendervolumen.
- Perspektivische Projektion (DE) / perspective projection - Strahlen treffen sich in einem Fluchtpunkt, entferntere Objekte erscheinen kleiner; Rendervolumen ist ein Pyramidenstumpf (Frustum).
- Lochkamera (DE) / pinhole camera - physikalisches Modell der perspektivischen Projektion; Strahlen kreuzen sich im Loch und erzeugen ein umgekehrtes Bild auf der Bildebene.
- Strahlensatz (DE) / intercept theorem / similar triangles - Grundlage der perspektivischen Verkleinerung: (aus ähnlichen Dreiecken); die Division durch erzeugt die Verkleinerung.
- View-Frustum (DE) / view frustum - pyramidenstumpfförmiger Sichtbereich zwischen near- und far-Clipping-Ebene; nur Geometrie darin wird gerendert.
- Vollständige Transformationskette (DE) / full transformation chain - ; im Shader
projection * view * model * vertex, wirkt von rechts nach links. - Seitenverhältnis (DE) / aspect ratio - Verhältnis Breite zu Höhe; muss bei Kamera und Fenster übereinstimmen, sonst entstehen Verzerrungen.
Rendering
- Rendering-Pipeline (DE) / rendering pipeline - feste Abfolge Vertex Processor, Rasterizer, Fragment Processor, Output Merging, die aus Vertices/Primitiven ein 2D-Farbarray erzeugt.
- Koordinatenräume (DE) / coordinate spaces - Kette Local, World, Camera, Clipping, NDC, jeweils per Matrix überführt (Model-, View-, Projektionsmatrix, Homogenisierung).
- Viewport-Transformation (DE) / viewport transformation - bildet den NDC auf Fensterkoordinaten ab; erst hier wird die Ausgabe auflösungsabhängig.
- Rasterisierung (DE) / rasterization - Umwandlung der Vektorgeometrie in diskrete Fragmente durch Kantenbestimmung und Interpolation entlang der Rasterzeilen (Scanlines).
- Lineare Interpolation (DE) / linear interpolation - Interpolation entlang einer Strecke (1D): ; Gewicht von ist .
- Bilineare Interpolation (DE) / bilinear interpolation - Interpolation über eine Fläche (2D), z. B. innerhalb eines Dreiecks.
- Tiefentest (DE) / depth test - Verfahren zur Sichtbarkeitsbestimmung der Fragmente ohne globales Sortieren; aktiviert per
glEnable(GL_DEPTH_TEST). - Painter's Algorithm (DE) / painter's algorithm - naives, reihenfolgeabhängiges Überzeichnen; versagt bei sich schneidenden Polygonen und wird ohne Tiefentest verwendet.
- z-Buffer / Tiefenpuffer (DE) / z-buffer - speichert pro Fragment den Tiefenwert (Abstand zur Kamera); ein Pixel wird nur aktualisiert, wenn der neue z-Wert geringer (näher) ist (
GL_LESS). - Fragment vs. Pixel (DE) / fragment vs. pixel - ein Fragment ist die Vorstufe eines Pixels; nicht jedes Fragment wird zum Pixel (z-Buffer verwirft), mehrere Fragmente können zu einem Pixel beitragen (Transparenz).
Beleuchtung & Textur
- BRDF (DE) / bidirectional reflectance distribution function - 4D-Funktion, die exakt beschreibt, wie viel einfallendes Licht in eine Richtung reflektiert wird; zu datenintensiv zum Speichern.
- Phong'sches Reflexionsmodell (DE) / Phong reflection model - approximiert die BRDF als Summe aus ambientem, diffusem und spekularem Term (optional emissiv): .
- Diffuse Reflexion (DE) / diffuse reflection - matte, richtungsunabhängige Reflexion; Intensität proportional zu (Winkel zwischen Normale und Lichtvektor).
- Spekulare Reflexion (DE) / specular reflection - spiegelnde Reflexion, die das Glanzlicht erzeugt; abhängig von mit zwischen Sichtvektor und reflektiertem Lichtvektor .
- Ambiente Beleuchtung (DE) / ambient lighting - richtungsunabhängiger Term , der die indirekte Beleuchtung grob imitiert und Schattenseiten aufhellt.
- Lambertsches Kosinusgesetz (DE) / Lambert's cosine law - die Intensität diffuser Reflexion ist proportional zu , da sich die gleiche Photonenzahl auf die projizierte Fläche verteilt.
- Shininess / Glanzfaktor (DE) / shininess - Exponent der spekularen Reflexion; hohes ergibt kleine, harte Highlights, niedriges große, weiche.
- Normalmatrix (DE) / normal matrix - , mit der Normalen korrekt transformiert werden, damit sie nach nicht-uniformer Skalierung senkrecht bleiben.
- Flat / Gouraud / Phong Shading (DE) / flat / Gouraud / Phong shading - Shading-Verfahren nach Granularität der Normalen: pro Fläche (flat), pro Vertex mit Interpolation (Gouraud), pro Pixel/Fragment (Phong); Shading ist nicht dasselbe wie das Phong-Reflexionsmodell.
- Normal Mapping (DE) / normal mapping - Simulation von Unebenheiten durch pro Pixel als RGB-Textur gespeicherte Normalen, ohne die Geometrie zu ändern.
- Textur (DE) / texture - meist 2D-Bild, das das Erscheinungsbild einer Oberfläche getrennt von der Geometrie speichert und per Texturkoordinaten aufgebracht wird.
- Texel (DE) / texel (texture element) - einzelnes Bildelement einer Textur, angesprochen über Texturkoordinaten .
- Texture Wrapping (DE) / texture wrapping - Verhalten außerhalb :
GL_CLAMP_TO_EDGEklemmt auf den Rand,GL_REPEATkachelt die Textur. - Mipmap (DE) / mipmap - Auflösungspyramide vorgemittelter Texturstufen (Level 0 = voll, je Stufe halbe Kantenlänge) zur Minification; trilinear =
GL_LINEAR_MIPMAP_LINEAR. - Sampler (DE) / sampler - Texturzugriffstyp im Fragment Shader (
sampler2D); das Uniform verweist auf die Texture Unit, nicht auf die Textur-ID.
Farbräume
- RGB-Farbraum (DE) / RGB color space - hardwareorientiertes, additives Modell; jede Farbe ist ein Vektor im Einheitswürfel mit Werten in .
- Additive vs. subtraktive Mischung (DE) / additive vs. subtractive mixing - additiv (Licht/Display, wird heller, R+G+B=Weiß) gegenüber subtraktiv (Pigment/Druck, wird dunkler, C+M+Y=Schwarz).
- Unbuntgerade / Grauachse (DE) / achromatic (gray) axis - Raumdiagonale des RGB-Würfels von Schwarz nach Weiß; alle Grautöne erfüllen .
- CMYK (DE) / CMYK - subtraktives Druckmodell aus Cyan, Magenta, Yellow plus Key (Schwarz); reines Schwarz ist .
- Hardware- vs. wahrnehmungsorientiert (DE) / hardware- vs. perception-oriented - RGB, RGBA, CMY, CMYK (an Geräten orientiert) gegenüber HSV, YCbCr, CIE XYZ, CIELab (an der Wahrnehmung orientiert, trennen Chrominanz und Helligkeit).
- HSV (DE) / hue, saturation, value - wahrnehmungsorientiertes Modell mit Farbton (Farbwinkel Rot, Grün, Blau), Sättigung und Helligkeit .
- Chrominanz vs. Intensität (DE) / chrominance vs. intensity - Farbigkeit (Farbton + Sättigung) gegenüber Helligkeit; wahrnehmungsorientierte Modelle trennen beide gezielt.
- YCbCr (DE) / YCbCr - wahrnehmungsorientiertes Modell mit Grundhelligkeit sowie den Chrominanzachsen Cb (Blau-Gelb) und Cr (Rot-Grün); Basis für JPEG/MPEG und Chroma-Subsampling.
- CIE XYZ / CIELab (DE) / CIE XYZ / CIELab - geräteneutrale Farbräume, die alle wahrnehmbaren Farben erfassen; im CIELab (L* Helligkeit, a* Rot-Grün, b* Gelb-Blau) ist die geometrische Distanz wahrnehmungslinear.
- Farbgamut (DE) / color gamut - Untermenge des Farbraums, die ein Gerät darstellen oder erfassen kann; Größenverhältnis CIE > RGB > CMY.
Bildverarbeitung
- Punktoperator (DE) / point operator - berechnet den neuen Grauwert eines Pixels allein aus dessen altem Grauwert, ohne Nachbarn; Bildgröße und -geometrie bleiben unverändert.
- Lokaler Operator (DE) / local operator - berechnet den neuen Pixelwert aus dem Pixel und seiner Nachbarschaft (N4 oder N8); Kernwerkzeug ist die Faltung.
- Histogramm (DE) / histogram - Häufigkeitsverteilung der Grauwerte; misst Kontrast (Spannweite ) und Dynamik (Anzahl verschiedener Grauwerte), sagt aber nichts über den Bildinhalt.
- Grauwerttransformation / LGT (DE) / gray-value transform - lineare Punktoperation ; die Kontrastspreizung verteilt auf den darstellbaren Bereich, ohne zu verfälschen.
- gg'-Diagramm (DE) / transfer function diagram - bildet Eingabegrauwert (x-Achse) auf Ausgabegrauwert (y-Achse) ab; oberhalb der Diagonale = heller, negative Steigung = invertiert, Steigung > 1 = kontrastreicher.
- Gamma-Korrektur (DE) / gamma correction - nichtlineare Punktoperation , die das nichtlineare Sensor-/Displayverhalten ausgleicht; verfälscht Bildinformation.
- Grauwerttransformation (allg.) (DE) / gray-value transformation - jede pixelweise Abbildung des Grauwerts (Helligkeit, Invertierung, Binarisierung, Kontrast, Gamma).
- Faltung (DE) / convolution - gewichtete Summe aus Pixel und Nachbarn; .
- Kernel / Faltungsmatrix (DE) / kernel - kleine (meist ) Gewichtsmatrix, die über das Bild geschoben wird; ungerade Größe garantiert genau ein Zentrum.
- Mittelwert- / Gauss-Filter (DE) / mean / Gaussian filter - Weichzeichner: Mittelwert (, alle Einsen) mittelt homogen, Gauss () gewichtet die Mitte stärker; beide verwischen Kanten.
- Differenzoperator / Sobel (DE) / difference / Sobel operator - Kantendetektoren über die 1. Ableitung; Differenz markiert 1 Pixel breit aber rauschanfällig, Sobel mit Pufferzeile ist rauschrobust, aber breiter.
- Laplace-Operator (DE) / Laplace operator - isotroper Kantendetektor über die 2. Ableitung; die Kante liegt am Nulldurchgang, Kernel mit Summe 0.
- Sharpening-Filter (DE) / sharpening filter - Kontrastverbesserung (invertierter Laplace plus Identität); mit helligkeitserhaltend.
- Medianoperator (DE) / median filter - nichtlinearer Rangordnungsoperator, der den Zentralpixel durch den mittleren sortierten Wert ( bei N8) ersetzt; entfernt Impulsrauschen ohne Kantenverwischung.
- Dilatation / Erosion (DE) / dilation / erosion - Rangordnungsoperatoren: Dilatation nimmt das Maximum (, helle Bereiche wachsen), Erosion das Minimum (, dunkle Bereiche wachsen).
- Opening / Closing (DE) / opening / closing - Opening = Erosion dann Dilatation (entfernt Rauschen), Closing = Dilatation dann Erosion (schließt Lücken); die Reihenfolge ist ergebnisrelevant.
- Grauwerttransformation vs. Faltung (DE) / point vs. local - Grauwerttransformation ist pixelweise (Punktoperator), Faltung bezieht die Nachbarschaft ein (lokaler Operator).
- Zusammenhangskomponente / ZHK (DE) / connected component - Gruppe zusammenhängender gleichfarbiger Pixel; Vorder- und Hintergrund müssen mit entgegengesetzter Nachbarschaft (N4 vs. N8) bestimmt werden, sonst wird die Aufteilung topologisch inkonsistent.
- Flood Fill / Rekursives Fluten (DE) / flood fill - rekursiver Algorithmus, der eine ZHK bildet und alle zusammenhängenden Vordergrundpixel mit derselben Marke (label) kennzeichnet.
- Binarisierung / Segmentierung (DE) / binarization / segmentation - Schwellwertbildung ( aus dem Histogramm) bzw. inhaltliche Zusammenfassung von Pixeln mit homogenen Eigenschaften zu Objekten.