Fragment: Unterschied zwischen den Versionen
Aus DGL Wiki
Lyr (Diskussion | Beiträge) |
Flash (Diskussion | Beiträge) K (link auf Fragmentshader) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | Eine [[Primitive]] welche gezeichnet werden soll wird vom Rasterizer (siehe [[Feste Funktionspipeline#Fragment Pipeline|Fragment Pipeline]]) in Fragmente zerlegt. Jedes Fragment durchläuft die [[Feste Funktionspipeline#Fragment Pipeline|Fragment Pipeline]] und landet nach mehreren bestandenen Tests als [[Pixel]] im [[Framebuffer]]. Ein Fragment besitzt dabei vor allem folgende Daten: | |
* Fensterposition | * Fensterposition | ||
* Tiefe | * Tiefe | ||
Zeile 6: | Zeile 6: | ||
* Texturcoordinate(n) | * Texturcoordinate(n) | ||
* Stencilwert | * Stencilwert | ||
− | Die Daten können (beispielsweise durch einen [[Fragment Shader]], Nebelberechnungen, ...) während der Lebensdauer eines Fragmentes noch verändert werden. Zusätzlich kann jeder Test ([[Tiefentest]], Alphatest, ...) ein Fragment verwerfen. | + | Die Daten können (beispielsweise durch einen [[Shader#Fragmentshader_.28auch_Pixelshader.29|Fragment Shader]], Nebelberechnungen, ...) während der Lebensdauer eines Fragmentes noch verändert werden. Zusätzlich kann jeder Test ([[Tiefentest]], Alphatest, ...) ein Fragment verwerfen. |
Aktuelle Version vom 16. Juni 2009, 12:39 Uhr
Eine Primitive welche gezeichnet werden soll wird vom Rasterizer (siehe Fragment Pipeline) in Fragmente zerlegt. Jedes Fragment durchläuft die Fragment Pipeline und landet nach mehreren bestandenen Tests als Pixel im Framebuffer. Ein Fragment besitzt dabei vor allem folgende Daten:
- Fensterposition
- Tiefe
- Farbwert(e) oder Farbindex
- Alphawert
- Texturcoordinate(n)
- Stencilwert
Die Daten können (beispielsweise durch einen Fragment Shader, Nebelberechnungen, ...) während der Lebensdauer eines Fragmentes noch verändert werden. Zusätzlich kann jeder Test (Tiefentest, Alphatest, ...) ein Fragment verwerfen.