KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 12.01.2005, 02:10 Titel: [FAQ] Blendingmodi |
|
|
Wie werden bei den verschiedenen Blendingmodi die Werte berechnet, ich bin so verzweifelt.
R=Rot Anteil
G=Grün Anteil
B=Blau Anteil
A=Alpha Anteil
1=Voller Anteil eies Farbelements (zum Beispiel 255)
d=Steht das d vor einem der Farbkomponenten (RGBA) ist die Farbe des Ziels gemeint (das Ziel ist meist die Fläche auf die gerendert werden soll, also das was bereits gerendert wurde)
s=Steht das s vor einem der Farbkomponenten (RGBA) ist die zu rendernde Farbe gemeint, zum Beispiel die Farbe des zu zeichnenden Pixels vor dem blenden
ZERO
Es wird ein völliges schwarz ohne Alpha Anteil benutzt
RGBA=(0, 0, 0, 0)
ONE
Es wird ein völliges weiss mit vollem Alpha Anteil benutzt
RGBA=(1, 1, 1, 1)
SRCCOLOR
Es wird die Farbe und der Alpha Anteil des zu rendernden Pixels benutzt (vor dem blenden)
RGBA=(sR,sG,sB,sA)
INVSRCCOLOR/ONEMINUSSRCCOLOR
Es wird die invertierte/umgekehrte Farbe und Alpha Anteil des zu rendernden Pixels benutzt (vor dem blenden)
RGBA=(1 - sR, 1 - sG, 1 - sB, 1 - sA)
SRCALPHA
Allen Farbanteilen wird der Alpha Anteil des zu rendernden Pixels zugewiesen (vor dem blenden)
RGBA=(sA, sA, sA, sA)
INVSRCALPHA/ONEMINUSSRCALPHA
Es wird der invertierte/umgekehrte Alpha Anteil des zu rendernden Pixels für alle Farbkomponenten und den Alpha Anteil benutzt (vor dem blenden)
RGBA=( 1 - sA, 1 - sA, 1 - sA, 1 - sA)
DESTALPHA
Allen Farbanteilen wird der Alpha Anteil des Zielpixels zugewiesen (vor dem blenden)
RGBA=(dA, dA, dA, dA)
Das macht nur Sinn wenn die Zieloberfläche den Alpha Anteil unterstützt, Backbuffer und Framebuffer tun dies meist nicht.
INVDESTALPHA/ONEMINUSDESTALPHA
Es wird der invertierte/umgekehrte Alpha Anteil des Zielpixels für alle Farbkomponenten und den Alpha Anteil benutzt (vor dem blenden)
RGBA=(1 - dA, 1 - dA, 1 - dA, 1 - dA)
Das macht nur Sinn wenn die Zieloberfläche den Alpha Anteil unterstützt, Backbuffer und Framebuffer tun dies meist nicht.
DESTCOLOR
Es wird die Farbe und der Alpha Anteil des Zielpixels benutzt (vor dem blenden)
RGBA=(dR, dG, dB, dA)
Der Endpixel wird wie folgt berechnet:
Endpixel=ZielPixel*ZielBlendmodus+QuellPixel*QuellBlendmodus
Beispiel:
Zielpixel=(0.5, 0.5, 0.5, 0.5)
QuellPixel=(0.5, 0.5, 0.5, 0.5)
(Beide Pixel sind Grau, ich benutzte eine Uniforme Farbangabe)
ZielBlendmodus=ONE
QuellBlendModus=ONE
Endpixel=ZielPixel*ZielBlendmodus+QuellPixel*QuellBlendmodus
EndPixel=(0.5, 0.5, 0.5, 0.5)*(1, 1, 1, 1)+(0.5, 0.5, 0.5, 0.5)*(1, 1, 1, 1)
EndPixel=(1, 1, 1, 1)
(Dies nennt man Additives Blending)
ZielBlendmodus=DESTCOLOR
QuellBlendModus=SRCCOLOR
Endpixel=ZielPixel*ZielBlendmodus+QuellPixel*QuellBlendmodus
EndPixel=(0.5, 0.5, 0.5, 0.5)*(0.5, 0.5, 0.5, 0.5)+(0.5, 0.5, 0.5, 0.5)*(0.5, 0.5, 0.5, 0.5)
EndPixel=(0.5, 0.5, 0.5, 0.5)
-FallenAngel84 JLI MVP |
|