|
In diesem Glossar finden Sie spezielle Bezeichnungen und Namen, die im Zusammenhang mit der DirectX-Programmierung und in unserer DirectX-API verwendet werden, und einer gesonderten Erklärung bedürfen.
|
|
|
Unser Glossar ist noch nicht vollständig, es wird jedoch laufend aktualisiert, und sollten Sie Begriffe entdecken, die hier in unserem Glossar noch nicht erfasst sind, dann würden wir uns freuen, wenn Sie uns dies mitteilen. Alle Begriffe die nicht älter als 1 Monat sind, sind in rot gekennzeichnet.
|
Anregungen oder Verbesserungsvorschläge bitte an
Alexander Csadek.
|
|
|
Mesh
engl. für Drahtgittermodell, siehe Wireframe.
|
|
|
MIP-Mapping
MIP steht für "multum in parvo" (viele unter gleichen) und
meint das Speichern einer Textur in verschiedenen
Größenabstufungen. So werden Objekten je nach ihrer
Entfernung zum Betrachterstandpunkt, dem sog. Level of
Detail (LOD), unterschiedlich große Texturen zugewiesen.
Damit kann nicht nur Texturspeicher gespart, sondern auch
die Qualität der Texturen gesteigert werden.
|
So können für nahe Objekte hochaufgelöste Bitmaps benutzt werden, und
kleinere für entfernte Objekte. Beim trilinearen
MIP-Mapping wird zunächst innerhalb der nächstgrößeren
und der nächstkleineren Textur jeweils bilinear gefiltert
und schließlich zwischen diesen beiden Texeln
noch einmal gemittelt und so weichere Übergänge berechnet. Auf diese
Weise lassen sich Klötzcheneffekte im Nahbereich und Aliasing bei entfernten Objekten sehr wirkungsvoll unterdrücken. |
Beim MIP-Mapping werden im lokalen Speicher kleinere Versionen der benutzten
Texturen abgelegt, um später perspektivische Effekte
schneller realisieren zu können. |
|
|
Motion-Blur
Dieser Kameraeffekt wird in vielen Spielen
mit Direct3D oder OpenGL eingesetzt, um den Eindruck von hohen Geschwindigkeiten zu
verstärken. So können sich schnell bewegende Objekte
unscharf erscheinen und Schlieren im Bild hinterlassen,
wie z. B. ein vorbeifahrender Rennwagen (Bewegungsunschärfe).
|
|
|
Kamera bewegt sich nicht |
Kamera wird
nachgeführt |
|
Es werden die Bewegungen mehrerer
Frames zusammengefasst und interpoliert, um dadurch einen
verschwommenen Eindruck zu erzeugen. Dadurch sieht der
Betrachter nicht eine Bewegung pro Bild, sondern mehrere
gleichzeitig. Dabei kann entweder das vordergründige Objekt der Szene scharf und der Hintergrund unscharf, oder aber Hintergrundschärfe und vordergründige Unschärfe verwendet werden, um dies zu erreichen - im Prinzip wie bei Filmen. |
|
|
|
|
Offscreen Surface
Ein Offscreen Surface ist für den Anwender nicht sichtbar. Oft
wird diese Surface auch als Back Buffer bezeichnet. In
diesem Bereich des Videospeichers wird jeweils das nächste Bild
zusammengestellt und gezeichnet. Ist dies dann vollständig, wird es auf die
Primary Surface kopiert bzw. ausgetauscht (flipping). Es können beliebig viele
Offscreen Surfaces erstellt werden.
|
Um Videospeicher zu sparen und die Performance zu steigern,
kann eine Offscreen Surface eine von der Primary Surface unabhängige
Farbtiefe
erhalten, aber sie kann nicht größer sein als diese. Sollte dies erforderlich
sein, muss eine Wide Surface erstellt werden. |
|
|
Overlay-Planes
Zusätzliche Speicherbereiche
auf der Grafikkarte, in denen oft benötigte Buttons, Fadenkreuze oder andere Grafikelemente
abgelegt und verwaltet werden.
|
Moderne Grafikchips enthalten eigene Funktionseinheiten zur Verwaltung dieser Planes. Diese
Elemente können entgegen dem - auch bei Low-Cost-Chips
vorhandenen - Hardware-Cursor zur Darstellung des
Mauszeigers auch die Größe des Desktops annehmen. |
|
|
Overlay-Surface
Eine Surface, die wie
eine Folie auf die Primary Surface gelegt wird.
Sie "liegt" also über allen anderen Surfaces. Wird das Overlay Surface
wieder ausgeblendet, ist der Inhalt der Primary
Surface wieder vollständig sichtbar.
|
|
|
|
|
Page-Flipping
Mit Page-Flipping wird das Umschalten zwischen dem nicht sichtbaren Teil des Bildspeichers einer Grafikkarte
(Back Buffer) und dem sichtbaren Teil
(Front Buffer) bezeichnet.
|
|
|
Pixel
Ist die Kurzform von 'picture element'. Ein Pixel ist ein einzelner
Bildpunkt und somit das kleinste Element einer Bitmap-Grafik
(im Gegensatz zur Vektor-Grafik). Die
Lage eines Pixels wird durch die X- und Y-Koordinate
bestimmt und das Aussehen durch einen entsprechenden
Farbwert definiert.
|
|
|
Primary Surface
Der Inhalt dieses Surfaces, auch Front Buffer genannt, ist genau das Bild, was im Moment auf dem
Bildschirm angezeigt wird, und kann im Gegensatz zur Offscreen Surface
nur einmal vorhanden sein. Eine Grafik kann nicht direkt
auf die Primary Surface geblittet
werden (das würde
zum Flimmern führen und das ist natürlich nicht erwünscht),
vielmehr wird dazu der Back Buffer bzw. Offscreen Surface
benutzt.
|
|
|
Polygon
Polygon bedeutet eigentlich Vieleck, ist jedoch Im 3D-Bereich in
der Regel ein Dreieck. Alle Objekte einer 3D-Welt setzen sich aus
Polygonen zusammen. Aus je mehr Polygonen ein Objekt
besteht, desto realistischer wirkt es. Dies hat jedoch den
Nachteil, dass die Grafikkarte viel mehr berechnen muss,
und es kann dadurch zu Performance-Verlusten kommen, da die
Anzahl der Bilder, die pro Sekunde
dargestellt werden können (fps)
sinkt.
|
|
|
|
|
Raytracing
3-D-Rendering-Verfahren um photorealistisch wirkende Bilder aus 3D-Daten
zu erzeugen, bei dem der Verlauf eine Lichtstrahls ausgehend von
der Projektion in einem Raum berechnet
wird. (engl. Ray = Strahl, tracing = verfolgen). Mit Hilfe des
Raytracings werden sehr realitätsnahe Resultate erzielt, da für jeden einzelnen Bildschirmpunkt ein Sehstrahl
verfolgt wird. Trifft dieser auf ein transparentes Objekt, für das
Lichtberechnung aktiviert ist, so wird er genau wie ein
echter Lichtstrahl gebeugt. Ist das Objekt zudem noch spiegelnd, so wird der Strahl
geteilt.
|
Raytracing ermöglicht die Darstellung von Schatten, Filter-/Brechungseffekten und Spiegelungen.
Die Stellen auf die der Strahl trifft, beeinflussen letztendlich die Färbung des Bildpunktes, der Ausgangspunkt für den Strahl war. Anhand der dabei auftretenden Abschwächungen, Reflexionen und Filterungen wird die endgültige Farbe eines Pixels berechnet.
Das Raytracing hat allerdings auch seinen Preis, da vor allem bei Szenen mit
spiegelnden Objekten die Berechnung sehr zeit- und rechenintensiv
ist.
|
|
|
Rendering/Rendern
Englische Bezeichnung für "Übersetzung" oder "Übertragung".
Unter Rendern versteht man den für die Darstellung von
3D-Objekten, ganzer Szenen oder eines zweidimensionalen
Pixelbildes in Echtzeit erforderlichen Rechenprozess. Auch können
beliebige Lichtquellen positioniert sowie Farben bzw. Texturen und jede Menge Effekte zugeordnet werden.
|
Auch das
aufwendige Zeichnen einzelner Bilder von 3D-Szenen, das
meist mit Hilfe von Raytracing-Verfahren geschieht, wird
ebenfalls als rendern bezeichnet. Da in diesem Falle die
Forderung nach Echtzeit nicht besteht, darf das Rendern so
viel Zeit in Anspruch nehmen, wie nötig ist, um qualitativ
hochwertige Bilder zu erzeugen.
|
|
|
|
|
Specular Lighting
Mit Specular Lighting werden auf glatten Oberflächen Reflexionen durch Glanzlichter
dargestellt, und ist neben Ambient-Lighting (indirekte Beleuchtung) zur indirekten Beleuchtung im Dunkeln liegender
Elemente und Diffuse Lighting
(diffuse Beleuchtung) als Grundlage von Lichtreflexionen auf Oberflächen
zwar die komplexeste der Beleuchtungsmethoden, aber auch diejenige,
die der Realität am nächsten kommt.
|
Einen wesentlichen Beitrag zu realitätsnahen Darstellung dreidimensionaler Szenen leistet
somit die richtige Berechnung von Beleuchtungseffekten aus
der Anzahl vorgegebener Lichtquellen (in welchem Winkel, wie stark und in welcher Farbe ein Körper das Licht einer Lichtquelle
reflektiert). Je nach Standort ändern sich die Glanzlichter auf dem reflektierenden Objekt. Mit Specular Lighting sieht man, woher die Lichtquelle kommt und wie sie auf das Objekt gerichtet ist.
|
In vielen Spielen wird die Beleuchtung aufgrund der Berechnungen meist aus einer Kombination von Diffuse- und Specular Lighting
zusammengesetzt.
|
|
|
Sprite
Ein Sprite ist ein Bitmap
mit transparenten Hintergrund, das über den Bildschirm bewegt, skaliert, rotiert oder verzerrt
werden kann. Zusätzlich kann das Bild auch ausgetauscht werden. Dies wird z.B. dazu genutzt, um eine
Figur zu animieren.
|
|
|
Surface
Eine Surface ist eine Oberflache auf der ein darzustellendes Bild
gezeichnet werden kann, und ist ein reservierter, zusammenhängender
Speicherbereich. Dieser kann im Videospeicher oder im
Systemspeicher liegen, wobei allerdings der Systemspeicher
wesentlich langsamer als der Videospeicher ist.
|
Es werden 5 Surface-Typen
unterschieden. Am wichtigsten ist die Primary Surface, auf
dem sich der jeweils aktuelle Bildschirminhalt befindet und
die Offscreen Surface, auch BackBuffer genannt. Sie ist für
den User unsichtbar. Auf dieser wird dann bereits das nächste Bild
zusammengestellt und gezeichnet. Ist dies dann vollständig, wird es auf
einen Schlag auf die primäre Surface kopiert (flipping). So wird
sichergestellt, das der Anwender vom Aufbau des Bildes
nichts mitbekommt und kein flackerndes Bild sieht. Diese Technik nennt sich
"Double Buffer" und zeichnet sich vor allem durch einen
schnellen und absolut flimmerfreien Bildaufbau aus.
|
Surfaces können auch miteinander verbunden werden. Zwei oder mehrere miteinander verbundene Surfaces, die abwechselnd auf
den Bildschirm gezeichnet werden, bezeichnet man auch als "Seiten-Umschlage-Kette" (Flipping
Chain).
|
|
|
|
|
Tearing
Die
meisten Monitore bauen ein Bild ca. 70 mal in der Sekunde
neu auf (70 Hz), dies geschieht normalerweise von oben
nach unten. Wird nun ein neues
Bild auf den Bildschirm gezeichnet während der Monitor gerade
noch das alte Bild aufbaut, kommt es öfter zu dem
Phänomen, dass in der unteren Hälfte des Bildschirmes
bereits das neue Bild gezeichnet wird, während in der oberen Hälfte
noch das alte Bild zu sehen ist.
|
Durch ein
Synchronisieren beim Bildwechsel beseitigt man diese letzten
Störungen (Tearing), allerdings geht wegen der
entstehenden Wartezeiten etwas Performance verloren. Daher
verwenden einige Treiber drei Puffer in Rotation, einen zum
Zeichnen, einen zum Darstellen, und einen für das Flipping.
|
|
|
Texel
Die einzelnen Bildpunkte (Pixel)
einer Textur nennt man Texel, und werden dazu verwendet, die
Farbwerte der beim Rendern
tatsächlich auf dem Bildschirm erscheinenden Pixel zu
bestimmen, wenn die vorliegende Textur auf schräge oder
verzerrte Objekte aufgebracht werden soll.
|
|
|
Textur
In der Realität haben viele Objekte ein Oberflächenmuster. Texturen sind zweidimensionale
Bilder bzw. Muster (Bitmaps) von Oberflächenmaterialien wie
z.B. Stein oder Holz, die sich nahtlos aneinanderfügen
lassen. Sie werden per Textur Mapping
auf die Oberflächen von 3D Objekte projiziert, z.B. die Textur
Haut auf das Objekt Körper.
|
Die primäre Aufgabe einer Textur ist jeweils ein einzelnes
3D-Objekt realistisch zu gestalten. Da sie zweidimensional
sind verleihen sie somit einer Oberfläche auch keine dreidimensionalen
Eigenschaften.
|
|
|
Textur Mapping
Mit diesem Verfahren wird die Oberflache eines 3D-Objekts mit
einer 2D-Grafik (Textur) inkl. einer perspektivischen
Korrektur überzogen, so dass diese Flächen nahtlos bedeckt werden.
Auch ein Video kann als Textur verwendet werden.
|
|
|
Treppeneffekt
Der treppenstufenartige Effekt tritt bei der Bildschirm-Darstellung von Texten oder Bitmap-Grafiken auf der Basis einzelner Pixel
entlang von Kurven. schrägen Linien, und Konturen auf, und
auch mit dem englischen Jargonbegriff "Jaggies" bezeichnet.
Diese Treppeneffekte können mittels Antialiasing durch Interpolation von Mischpixeln
zwischen den Pixeln der Linie oder des Polygons und dem Hintergrund
geglättet werden.
|
|
|
|
|
Vertex
In der Geometrie ist ein Vertex eine Ecke eines Polygons, in der
3D-Programmierung ein Referenz- oder Scheitelpunkt
in einem 3D-Raum, und enthält meist neben einer Positionsangabe in Form eines Vektors
meist noch Angaben zur Farbe, Transparenz oder eine zweite Positionsangabe,
z.B. Texturkoordinaten.
|
Der Vertex ist das Fundament für die
polygonale Modellierung: Zwei Vertexe zusammen ergeben die Endpunkte einer Linie, drei
Vertexe definieren ein Dreieck, usw. Die meisten
Vertexe werden über die Primitiven interpoliert, so dass ein Übergang zwischen ihnen entsteht.
|
|
|
|
|
Wireframe
Eine auch als
Drahtgitter bezeichnete Darstellung, die alle Objekte auf
ihre Kanten reduziert. Da nur Linien gezogen werden müssen,
ist der Bildaufbau besonders schnell.
|
|
|
|
|
Z-Buffer
Der Z-Buffer ist ein Speicher, der die
Position eines Pixels auf der Z-Achse, also die räumliche Tiefe jedes Bildpunktes, speichert. Bei gleicher Bildschirmposition
mehrerer Pixel wird aufgrund der Tiefeninformation entschieden, ob ein Bildpunkt
hinter einem anderen verborgen ist und für den Betrachter sichtbar
wäre, und deshalb zu zeichnen ist oder nicht.
|
Auf Hochleistungs-3D-Grafikkarten ist der Z-Buffer meist als separates EDO-DRAM
ausgeführt (Local Buffer). Bei komplexen Objekten sollte der Grafikchip Z-Werte mit einer Genauigkeit von 24 oder 32 Bit verarbeiten um Darstellungsfehler bei feinen Details zu vermeiden.
|
|
|
|
|