Zum Forum


Navigation Links
Info

Die ATi Radeon HD5870 High End Grafikkarte mit DirectX 11 Grafik. Jetzt bei uns im Preisvergleich!

Hauptmenü
Home
Sitemap
News
Newsarchiv
RSS Feed
Kaufberatung
Grafikchips
Grafikkartenrangliste
Mobile Chip Rangliste
Grafikkarten Top 10
Grafikkarten
Grafikkarten Galerie
Marktplatz
3D Technologien
3D Lexikon
Praxisguide (FAQ)
Testcenter
Artikel
Downloadcenter
Gewinnspiel

Info

Die ATi Radeon HD5850 Grafikkarte mit DirectX 11 Power jetzt bei uns im Preisvergleich!

Informationen
Forum
Links
Kontakt
Impressum
Jobs
Mediadaten
Unterstützt durch
Spenden?
Werbung
3DChip T-Shirts!!!
gelbe Links?

Info

Die neue GeForce GTX 275 und die GeForce GTX 285 als auch die Geforce GTX 260 mit über 200 Streamprozessoren findet ihr jetzt zu Top Preisen bei uns im Preisvergleich!

Preisvergleich
Grafikkarten Tipp!
Monitore Top!

Downloads
3DMark Vantage Version 1.00
nVIDIA-Treiber ForceWare v. 169.25 für Windows Vista 32- & 64 Bit
nVIDIA-Beta-Treiber ForceWare v. 169.21 für Windows XP 32- & 64 Bit
ATi Catalyst 7.12 für Windows XP/Vista 32 & 64 Bit
nVIDIA-Beta-Treiber ForceWare v. 169.12 für Windows Vista 32- & 64 Bit
Futuremark PCMark Vantage v.1.0.0 PC-Analysetool für Windows Vista 32- und 64 Bit
Powerstrip 3.75
Mehr... Downloads

Info

Die ATi Radeon HD4800 Serie jetzt günstiger bei uns im Preisvergleich!

Info

3DChip
Partner & Friends
Link us!
Zu den Favoriten
Als Startseite

Forum News

Sofort zum Forum

Info

Statistik
Besucher auf 3DChip


Stencil Buffer


8-bit Stencil Buffer

Ein 8 - bit Stencil Buffer ermöglicht nun nicht mehr nur zwei zusätzliche Zustände pro Pixel, sondern satte 256 (Da man mit 8 bits 2^8 verschiedene 0-1 Folgen erzeugen kann), was detaillierte und knifflige Effekte ermöglicht. Man kann zwar alle 256 Zustände für einen einzelnen Effekt verwenden, normalerweise teilt man sich diesen 8bit-Bereich pro Pixel jedoch auf, so dass man beispielsweise 1 bit für das zuerst beschriebenen "Cockpit - Effekt" verwendet, 4 weitere Bits für die sagenumwobene Schattenberechnung und die restlichen 2 bits für einen anderen kniffligen Trick. Mit einem 8 bit - Stencil Buffer steht der Kreativität der Entwickler Tür und Tor offen. Dissolves mit Transitions, Rendering von Co-planaren Texturen, volumetrische Schatten, Skid Marks, Scorch Marks oder nette Reflexionseffekte.

volumerische Echtzeitschatten

Viele Schattenberechnungen beschränken sich auf den Schattenwurf auf eine planare Fläche und vernachlässigen die Objekte, welche innerhalb dieses Schattenwurfs auftauchen. Mit dem Stencil Buffer kann man relativ einfach auch Schattenwürfe auf diese Objekte berücksichtigen. In unserem Fall kommt der Stencil Buffer ganz am Schluss der 3D-Pipeline zum Einsatz, wenn bereits alles fertig gerendert ist. Das heisst Wände mit Texturen, Türen, Kisten, Monster und dergleichen stehen bereits in der Gegend herum. Eigentlich könnte man nun schon das Frame darstellen - lediglich die Schatten fehlen noch.

Für die Schattenberechnug benötigt man Zugriff auf die Tiefenwerte der einzelnen Pixel im z - Puffer. Wir versetzen uns in die Position der Lichtquelle(n) und "schauen" auf die Szene. Nun erfordert die Schattenberechnung quasi dieselben Schritte wie das Hidden Surface Removal, nur mit dem Unterschied, dass die 3D - Szene von der Lichtquelle aus betrachtet wird und nicht vom Standpunkt des Betrachters. Vom Standpunkt der Lichtquelle aus werden somit die (un-)sichtbaren Teile für die Lichtquelle bestimmt. Alles, was die Lichtquelle nicht "sieht", wird am Schluss mit einem Schatten versehen.

Figur A: Schattenwurf auf eine zum Dreieck paralelle Fläche

 

Die Schatten beginnen wie im echten Leben an den Kanten des Objekts und folgen der Geraden von der Lichtquelle. Die erste Begrenzung der möglichen Schatten wäre somit festgestellt. Innerhalb dieser Begrenzungen entsteht nun ein "Volumen", ein Raum indem das einfallende Licht von einem Objekt verdeckt wird. Aus der eben durchgeführten Berechnung resultieren in unserem einfachen Beispiel spezielle "Schattendreiecke". Das erste Schattendreieck hat die Eckpunkte A, B und C, das zweite die Punkte A, C und D (siehe Figur A). Die eben erzeugten "Schattendreiecke" werden nun wieder an den 3D Chip geschickt. Dieser berechnet deren Tiefenwerte, um dann festzustellen, ob die im Framebuffer befindlichen Pixel der gerenderten Szene innerhalb der Schattenzone (grau) liegen. Dazu wird mit einfachen Grössenvergleichen lediglich überprüft, ob der Tiefenwert (Z-Wert) des Pixels im Framebuffer grösser als der Z-Wert des Objekts und kleiner als der Tiefenwert des Schattendreiecks ist. Falls ja, so werden diese Pixel mit einer Erhöhung des entsprechenden Stencil Bits markiert. Nachdem dieser Schritt für alle Lichtquellen und Objekte abgeschlossen ist, blendet man über die fertig gerenderte Szenerie ein abgedunkeltes Viereck, dass jedoch nur dort wirksam wird, wo die Stencil Flags gesetzt wurden. Et voilà, die Objekte sind mit "volumerischen" Schatten versehen ...

Figur B: Schattenwurf auf einen Würfel

Dies ist die billigste und gebräuchlichste Form für volumerische Schatten. Es gibt natürlich noch andere Ansätze, welche aber aufwendiger und damit langsamer sind:

Alternativ zum Überblenden des Schattenbereiche mit einem dunklen Viereck könnte man auch die entstprechendne Pixel neu rendern lassen. Dies hätte den Vorteil dass einige Nebel- und Materialeffekte besser wirken würden.

Ein ganz anderer Ansatz wäre zuerst die Szene untexturiert und unschattiert zu rendern und nur die Tiefenwerte zu speichern, dann die Schattendreiecke zu bestimmen und dann die mit Stencil Bit markierten Bereiche mit deaktiverten Lichtquellen zu berechnen und dann die nicht markierten Bereiche mit aktivierten Lichtquellen. Diese Methode liefert die besten Resultate, ist allerdings auch am aufwenigsten.

Mit einem 8 bit Stencil Buffer sind maximal 8 Lichtquellen möglich. Hätte man mehr als 8 Lichtquellen, müsste man den ganzen oben beschriebenen Vorgang mehrmals durchführen, was natürlich an Leistung kostet und für Games kaum mehr praktikabel ist.

volumerischer Echtzeitschatten

Standardschatten als grauer Fleck

Die hier beschriebenen Schattenvolumen funktionieren am besten, wenn das schattenwerfende Objekt einfach gehalten ist. In den meisten Games wird für die Schattenberechnung die einfachste Variante des entsprechenden Objekts gewählt, falls verschieden komplexe Modellierungen vorliegen. Je einfacher die Siluette, umso schneller berechnen sich die Schatten - Räume.

Das Ende der Fahnenstange?

Zum Glück nicht. Echtzeitschatten mit den geometrisch realistischen Schattenwürfen auf Objekte sind zwar ein netter Fortschritt, doch so ganz realistisch wirken sie noch nicht. Das neue Zauberwort heist Soft Shadows und Soft Reflections.

Volumerische Echtzeitschatten (links) und Softshadows (rechts)

Euch ist sicher schon aufgefallen dass Schatten normalerweise nicht so kantige Ränder haben wie jene Schatten in Quake III Arena. Sie verlaufen eher fliessend. Diesen Effekt erreicht man auch mit einem normalen Stencil Buffer, zumindest ansatzweise, indem man zusätzlich noch ein grösseres Schattendreieck mit grösserem Transparezwertwert über das "echte" Schattendreieck blendet. Dies funktioniert allerdings nur bei Schattenwürfen auf Mauern und Böden. Nettere Effekte erreicht man da schon mit Accumulation Buffers oder dem "T-Buffer" von 3dfx, einer ähnlichen Technik. Dazu verschiebt man jeweils die Lichtquelle minim und rendert mehrere Frames aus jeder Position der Lichtquelle. Durch geschicktes übereinanderblenden der einzelnen Frames erhalten die Schatten weiche Kanten.

Figur C: approximierte "Soft Shaodows" ohne Variation der Lichtquelle: Überblenden verschieden skallierter Schattenvolumes mit unterschiedlichen Transparenztwerten

 

weiter

 

zurück

Navigation Rechts

Info

Info

AMD / ATi Radeon HD5770 Midrange Grafik mit DirektX 11 zum günstigen Preis!

Umfrage


Welchen Grafikkarten-Treiber verwendet Ihr?

1. Immer nur den neusten offiziellen.
2. Es muss immer der aktuellste sein! (auch Beta)
3. Ich ändere nur selten meine Treiberversion.
4. Treiber was ist das?

Hier geht es zur Umfrage...


Reviews
NVIDIA GeForce GT 240 512MB von Gigabyte ReviewNeu!
Sapphire HD5770 Review
Gigabyte HD4890 1GB OC
Sapphire HD4890 Vapor-X 2GB OC Review
Gigabyte GTX275 GV-N275UD-896H Review
NVIDIA GeForce GTX285 Review
AMD/ATi Radeon HD 4830 (MSI R4830 T2D512-OC) Review
3DMark Vantage Grafikkartenbenchmark
GeCube ATi Radeon HD3850 Shortreview
AMD/ATi Radeon HD3870 Review

Info

AMD/ATI Radeon HD 5750 DirectX 11 Power zum Schnäppchenpreis bei uns im Preisvergleich!

Artikel
Performance-Vergleich zum nVIDIA ForceWare Treiber Version 185.85
Großer ATi Catalyst Treibervergleich zum Catalyst 9.3
ForceWare Performance-Test 182.06 gegen v.181.20 und v.181.22
NVIDIA ForceWare Treibervergleich Version 181.20 vs. Version 181.22
ATi Treibervergleich Catalyst 8.10 vs. Catalyst 8.12
Die Entwicklungsgeschichte von DirectX
Alle Artikel hier...

Grafikkarten
Zum günstigen Preis?

Info

Treiber

3dfx Grafikkarten
ATi Grafikkarten
Matrox Grafikkarten
nVIDIA Grafikkarten
PowerVR Grafikkarten
S3 Grafikkarten
SIS Grafikkarten
Xabre Grafikkarten
XGI Grafikkarten

Chipsatztreiber für Mainboards von ATi, nVIDIA, VIA usw...

Info
Fuß-Info


3DChip - Das Grafikkarten Onlinemagazin mit News, Informationen, Reviews, Treibern, Tweaks,
Grafikkartentools, Overclocking und jeder Menge nützlicher Downloads für Grafikkarten...

3DChip v.2.7 Unsere Webseiten sind mit einer Auflösung von 1024x768 Pixel mittlere Schriftart
am besten lesbar, getestet wurde mit Internet Explorer 6.0 Netcape 7.0, Mozilla 1.7

3DChip ist unter folgenden Domains erreichbar 3dchip.de, 3dchip.com,3dchip.eu , 3dchip.net, 3dchip.org,
Das Forum erreicht ihr unter grafikkarten.org

3DChip - Das Grafikkarten Onlinemagazin Copyright 2001-2010