Das tecChannel 3D-Lexikon: G bis R

15.02.2001 von Bernhard  Haluschak und MARCO SPOERL 
Wer sich mit 3D-Spielen und -Grafik beschäftigt, stolpert immer wieder über diverse Fachbegriffe. tecChannel hat für Sie die wichtigsten Begriffe aus dem 3D-Grafikbereich zusammengestellt und erklärt sie detailliert.

In diesem Beitrag haben wir folgende Begriffe rund um die 3D-Grafik alphabetisch geordnet und ausführlich erläutert:

Weitere Begriffe finden Sie unter:

tecChannel 3D-Lexikon: A bis F

Alpha-Blending / Color KeyAmbient LightAnisotropic FilteringAnti-AliasingBilineares FilteringBump MappingClippingCube Environmental MappingDepth of FieldDiffuse LightingDitheringFast WriteFillrate / Memory BandwidthFlat-ShadingFogging / Depth CueingFull Scene Anti-Aliasing / FSAA

tecChannel 3D-Lexikon: S bis Z

SDRAM / DDR-SGRAMShadow MappingSpecular LightingStencil BufferT-BufferTexturTexturkompressionTransform and Lighting / T&LTrilineares FilteringVertex SkinningZ-Buffering / Depth Buffer

Wir ergänzen das 3D-Lexikon laufend mit neuen Fachbegriffe. (hal)

Gouraud-Shading

Die heute am weitesten verbreitete Methode zur Schattierung von Polygonen ist das Gouraud-Shading, respektive Intensity Interpolation Shading, Color Interpolation Shading oder auch Vertex Lighting. Das Gouraud-Shading ist eigentlich nur eine allgemeine Version des Interpolated Shading für beliebige Polygone.

Im Gegensatz zum Flat-Shading, bei dem man einen einzigen Intensitätswert für das gesamte Polygon heranzieht, werden beim Gouraud-Shading die Farbwerte an jedem Eckpunkt (Vertex) berechnet. Anschließend interpoliert das Verfahren linear diese Werte über die Kanten des Polygons und über jede Scanline, um so das Polygon zu schattieren.

Durch Gouraud-Shading entstehen realistische Farbverläufe und auch das beim Flat-Shading entstehende Mach Banding wird fast komplett eliminiert. Somit lassen sich komplexe Körper und vor allem gekrümmte Oberflächen besser und mit deutlich weniger Polygonen darstellen als beim Flat-Shading.

Es entstehen jedoch Probleme, wenn Gouraud-schattierte Bilder Glanzlichter (Specular Highlights) erhalten sollen. Diese werden entweder undeutlich, verwaschen oder als Stern-Artefakt gezeigt, das heißt, die Reflektion ist nicht rund, sondern sternförmig.

Keyframe Interpolation / Vertex Morphing

Bei der Charakteranimation kommen in der Computergrafik hauptsächlich zwei Verfahren zum Einsatz. Bei der Skeletal Animation, auch Vertex Skinning genannt, wird über eine hierarchische Struktur (das Skelett) ein Drahtgitter gespannt und dieses dann mit Hilfe des Skeletts dynamisch verformt.

Beim Keyframe-Verfahren werden vom Grafiker ein Ausgangs- und ein Ziel-Mesh modelliert und dann zwischen diesen interpoliert, um die gewünschten Zwischenschritte zu erhalten.

Zum Einsatz kommt diese Technik vor allem bei aufwendigen Animationen von Gesichtern und Muskeln. ATIs neuer Grafikchip Radeon 256 unterstützt Keyframe Interpolation als erster Beschleuniger per Hardware.

Lens Flare

Lens Flare entsteht, wenn Sonnenlicht innerhalb von Kameralinsen so reflektiert und gebrochen wird, dass dadurch helle Muster auf dem Film entstehen. Diese sehen dann aus wie Bienenwaben oder auch wie eine kleine Kreisfläche innerhalb einer größeren.

Die traditionelle Computergrafik versucht oft das Ergebnis einer Fotografie zu erreichen, was auch die Nachahmung solcher Effekte wie Lens Flare beinhaltet, obwohl der eigentlich ein unbeabsichtigter Fehler ist. Lens Flare wird in der Computergrafik benutzt, um die Kälte beziehungsweise Sterilität von gerenderten Szenen aufzulockern. Das Erscheinungsbild der Szene soll einer echten Kameraaufnahme gleichkommen.

Der Effekt findet Anwendung in den verschiedensten Spielegenres, wie Ego-Shootern, Flugsimulatoren und Rennspielen. Technisch realisiert wird der Lens Flare durch schnelles, simples Texture Mapping mit transparenten, hellen Texturen.

MIP-Mapping

Beim MIP-Mapping werden von einer Textur mehrere vorgefilterte (pre-filtered) Texture Maps mit abnehmender Auflösung berechnet. Dabei wird die Kantenlänge der Ausgangstextur immer halbiert. Von einer 256x256 Texel großen Map werden also MIPMaps der Größen 128x128, 64x64 bis 1x1 generiert.

Die so erstellten MIPMaps können beziehungsweise müssen bei allen Verfahren des Texture Mapping benutzt werden. In der Praxis muss man die Texturen skalieren, da sie oft nicht die passende Größe haben. Ist ein texturiertes Polygon nahe am Betrachter, dann kommt eine große Map zum Einsatz, ist sie dagegen weiter entfernt, so wird eine kleinere benutzt. Der große Vorteil des MIP-Mapping ist, dass die verschiedenen MIPMaps zum Zeitpunkt des Rendering bereits vorgefiltert - also vorberechnet - sind. Diese Methode entlastet den Prozessor, da er nicht mehr für jeden gerenderten Pixel die passende Map berechnen muss. MIP-Mapping setzt man zur Verbesserung der Ergebnisse beim Point Sampling und bei der bilinearen Filterung ein, wobei dann nicht immer die originale Textur benutzt wird, sondern die entsprechende MIPMap. Bei der trilinearen Filterung bilden die vorberechneten Maps sogar die Grundlage des Verfahrens.

Motion Blur

Bei traditioneller Echtzeit-Computergrafik werden bewegte Objekte pro Frame mit scharfen und sauberen Kanten gerendert. Wenn man die gesamte animierte Szene betrachtet, entsteht ein unrealistischer Stroboskop-Effekt (time aliasing). Dieser steht im Gegensatz zur kontinuierlichen, flüssigen Bewegung von bewegten Objekten in der Realität. Die Marketingabteilung von 3dfx propagiert im Rahmen des durch den VSA-100 Grafikprozessor von 3dfx eingeführten T-Buffers den Motion Blur als ein neues, einfach verwendbares Feature für Spieleentwickler.

Der Motion Blur kann sowohl die erwähnten Fehler bei Computer-Animationen vermeiden, als auch die Illusion von extrem schneller Bewegung erzeugen. Dabei werden die Bewegungen mehrerer Frames zusammengefasst und interpoliert, um dadurch einen verschwommenen Eindruck zu erzeugen. Dadurch sieht der Betrachter nicht eine diskrete Bewegung pro Bild, sondern mehrere gleichzeitig.

Motion Compensation

Motion Compensation - oder genauer Block-Matching Motion Compensation - kommt bei der Komprimierung beziehungsweise Übertragung von Videodaten zum Einsatz. Das so genannte Predictive Coding ist in der Bildübertragung weit verbreitet, besonders bei niedrigen Bitraten. Üblicherweise verändert sich nur ein Teil des Bildes zwischen zwei Frames, was eine direkte Vorhersage auf Basis der vorhergehenden Frames erlaubt.

Motion Compensation ist Teil dieses Vorhersage-Prozesses. Wenn eine Bildfolge bewegte Objekte enthält, dann kann ihre Bewegung innerhalb der Szene gemessen werden. Die daraus gewonnene Information benutzt man, um den Inhalt von späteren Frames vorherzusagen und besser komprimieren zu können.

Der MPEG-Standard teilt jedes Bild in 16x16 Pixel große Makroblöcke auf. Jeder Makroblock wird mit einem vergangenen oder noch folgenden Frame verglichen daraus die Bewegung bestimmt. Die Syntax von MPEG gibt an, wie die Bewegungsinformation für jeden Makroblock dargestellt wird. Sie gibt nicht an, wie diese Information in Form eines Vektors zu verarbeiten ist.

Da die Bewegung in Blöcke aufgeteilt ist, verwenden viele Implementierungen eine Block-Matching-Technik. Diese ermittelt die Unterschiede des aktuellen und des Referenzblocks, indem eine minimierte Fehlerfunktion den Bewegungsvektor bestimmt.

Perspective Correction

Ohne Perspective Correction können Texturen auf Objekten verzerrt oder verbogen erscheinen oder verlaufen nicht korrekt in der Tiefe der Szene. Zur Anwendung kommt Perspective Correction beim Einsatz der Primitiven (Linien, Polygone) bei der Darstellung von Straßen oder Schienen. Auch beim Texture Mapping, um eine Textur perspektivisch korrekt auf ein Polygon zu spannen, verwendet man dieses Verfahren.

Der Algorithmus berücksichtigt bei den Berechnungen die Tiefe der Szene mit.

Phong-Shading

Das Phong-Shading ist das rechenintensivste Verfahren zur Schattierung von Polygonen und ist deshalb heute kaum in einer Echtzeitanwendung zu finden. Die Grundidee des Verfahrens ist folgende:

Das ist ähnlich wie beim Gouraud-Shading, bei dem die Farben und Intensitäten linear interpoliert werden. Phong-Shading ist ein Per-Pixel-Verfahren. Das heißt, der Prozessor berechnet die Beleuchtung für jeden Pixel einzeln, was den immensen Rechenaufwand verdeutlicht. Dafür kommt das Phong-Shading am besten mit Reflektionen und Glanzlichtern zurecht, was beim Verfahren von Gouraud nur unzureichend möglich ist. Auch das vom Flat-Shading bekannte Mach Banding, das beim Gouraud-Shading bereits gemindert ist, wird noch weiter verringert.

Phong-Shading darf nicht mit dem Phong-Lighting verwechselt werden. Manche Marketingabteilungen brüsten sich gerne damit, dass ihre Applikationen das Phong-Shading-Beleuchtungsmodell verwenden. Sie benutzen aber nur das Phong-Lighting-Verfahren, das an jedem Eckpunkt den entsprechenden Lichtwert berechnet. Die tatsächliche Schattierung findet dann nur mit normalem Gouraud-Shading statt.

RAMDAC

Der Random Access Memory Digital to Analog Converter ist Teil des Grafikchips oder wird als separater Baustein auf der Grafikkarte eingesetzt. Er besteht aus einem statischen Speicher, in dem eine Farbtabelle abgelegt ist und drei Digital-Analog-Konvertern. Der Baustein wandelt die vom Videospeicher kommenden digitalen Signalinformationen in analoge Spannungswerte für die drei Grundfarben rot, grün und blau um. Diese Signale werden an die VGA-Schnittstelle geleitet und von einem Monitor in ein Bild umgesetzt.

Ein wichtiges Merkmal des RAMDAC ist die Pixel-Frequenz. Sie legt fest, wie viele Bildpunkte pro Sekunde der RAMDAC in ein analoges Signal transformieren kann. Damit ist auch die maximale Bildwiederholfrequenz bei gegebener Auflösung bestimmt. Ein weiterer limitierender Faktor für diese Maximalwerte ist die Videospeicher-Bandbreite. Der RAMDAC erhält die Bildinformationen über den Videospeicher, der eine begrenzte Übertragungs-Bandbreite hat.

Die dritte Einschränkung wird künstlich im Treiber erzeugt: Viele Grafikkartenhersteller lassen aus Sicherheitsgründen nur eine bestimmte maximale Bildwiederholfrequenz zu um eine Beschädigung des Monitors auszuschließen.