Stencil Buffer
Sie dachten, wir sind schon fertig? Falsch gedacht. Erst mit dem 4. Band unseres 3D-Langenscheidts kennen Sie den ganzen 3D-Wortschatz.
Stencil Buffer
STENCIL BUFFER Spezielle Buffer werden genutzt, um Schattenwürfe der Konturen hübscher Damen zu erzeugen.
Bildspeicher und Tiefenspeicher reichen noch nicht, um das Effekt-Repertoire der Spieleentwickler abzudecken. Für spezielle Trickeffekte wird ein weiterer Datenspeicher benötigt, der "Stencil Buffer" (Schablonenpuffer). Im Stencil Buffer kann der Spieleentwickler zu jedem Bildschirmpunkt zusätzliche "Notizen" ablegen. Bis zu 8 Speicherbits stehen zur Informationsspeicherung zur Verfügung und erlauben 256 verschiedenen Einträge pro Bildpunkt. Spezielle Einblendeffekte (Fade) und echte Schattenwürfe (volumetrische Echtzeitschatten) sind damit möglich.
Textur / Texel / Texturing
Beim "Texturing" genannten Vorgang geht es immer darum, ein 2-dimensionales, "flaches" Bild über ein 3-dimensionales Objekt zu stülpen. Ein solches Bild nennt sich im Fachjargon "Textur" oder "Texture Map". Bei diesem flachen Bild kann es sich beispielsweise um das Foto einer Wandstruktur handeln oder auch um Bilder mit Licht- ("Light Map"), Umgebungs- ("Environment Map") oder Strukturinformationen ("Bump Map") zur Erzeugung von dynamischen Spezialeffekten. Allen Textur-Varianten gemeinsam ist, dass die Informationen als Farbwerte gespeichert sind. Ein einzelner Farbwert eines solchen Bildes nennt man "Texel" (Texture Element). Beim Texturing muss der Grafikprozessor darauf achten, dass die Textur perspektivisch korrekt aufgespannt wird. Zur Abschwächung von Genauigkeitsfehlern beim Berechnen der einzelnen Pixel kommt dabei Texturfiltering zum Einsatz, indem pro Bildpunkt mehrere Texel ausgelesen und miteinander vermischt werden. Werden mehrere Texturen über ein Dreieck gespannt, spricht man von Multitexturing. Manche Grafikprozessoren können dies ohne Geschwindigkeitsverlust (Single Cycle) mit derzeit bis zu drei Texturen (Radeon) oder ohne Speicherzugriff (Single Pass) mit bis zu vier (GeForce3), sechs (Radeon 2) respektive acht Texturen (Kyro).
Tesselation
Manche Spieledesinger konstruieren gewisse Objekte nicht allein aus Dreiecken, sondern nutzen auch Vierecke oder zusammenhängende gekrümmte Oberflächen (Curved Surfaces) als Grundbausteine. Da der Grafikprozessor allerdings nur Dreiecke verarbeiten kann, müssen diese Objekte vor der weiteren Berechnung in mehrere Dreiecke zerlegt werden. Diesen Zerlegungsvorgang nennen 3D-Experten "Tesselation". Modernste Grafik-Boliden wie Nvidias GeForce3 oder Atis kommender Radeon 2 haben diese Funktion im Chip integriert. Die Hardware-Einheit muss jedoch vom Spiel explizit unterstützt werden. Ohne diese Unterstützung übernimmt der Hauptprozessor die Zerlegungsarbeit.
Texturkompression
TEXTURKOMPRESSION Bei praktisch gleich bleibender Optikqualität reduziert Texturkompression den Platzbedarf von Grafikdaten.
Texturen belegen viel Speicherplatz. Farbschöne und hochauflösende 32-Bit-Texturen stellen die Leistungsfähigkeit eines jeden Beschleuniger-Boliden auf die Probe. Eines dieser 512x512 Pixel großen Klebebilder belegt bereits 1 Megabyte Speicherplatz, dazu kommen Struktur-, Licht- und Umgebungstexturen. Ohne Kompressiontechnik geht dem Speicherplatz und speziell der Leistungsfähigkeit der Verbindungsstraßen zwischen Chip und Speicher (Bandbreite) schnell die Puste aus, hochauflösende Texturen wären in Spielen kaum praktikabel. Texturkompression ist ein Verfahren, um den Speicherbedarf von Texturen in Spielen zu verkleinern. Der benötigte Speicherplatz und Datendurchsatz für eine komprimierte Textur verringert sich im Schnitt um rund 80 Prozent. Erst innerhalb des Chips, wo Engpässe kaum bestehen, wird die Datenmenge wieder aufgeblasen. Die Qualität der Textur leidet zwar etwas unter diesem Zusammenquetschen, doch sofern der Chipentwickler eines der verbreiteten Kompressions-Verfahren korrekt im Chip integriert, ist der visuelle Unterschied kaum zu erkennen. Im Markt durchgesetzt hat sich das von der ehemaligen Chipschmiede S3 entwickelte Verfahren S3TC. Mittlerweile ist die Technik fester Bestandteil der verbreiteten Programmierschnittstellen (DirectX / OpenGL) und wird von vielen Spielen genutzt.
