Fragment: Unterschied zwischen den Versionen
Aus DGL Wiki
Flash (Diskussion | Beiträge) K (link auf Fragmentshader) |
|||
(4 dazwischenliegende Versionen von 3 Benutzern werden 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 | |
− | Ein Fragment | + | * Tiefe |
− | * | + | * Farbwert(e) oder Farbindex |
− | + | * Alphawert | |
− | + | * Texturcoordinate(n) | |
+ | * Stencilwert | ||
+ | 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.