In einem Buch zum Thema Lighting & Rendering ("Lighting & Rendering: 3D-Grafiken meisterhaft beleuchten - Realistische Texturen entwickeln"), wurde das Thema "Premultiply with Alpha" erklärt.
Ich dachte eigentlich das Thema gut verstanden zu haben. Allerdings wiederholt sich der Autor in einem Aspekt hartnäckig - was mich jetzt ins Zweifeln gebracht hat, ob ich das Thema auch wirklich richtig verstanden habe.
Der Autor schreibt immer wieder von "vor-multiplizierten Alpha-Kanälen".
Meinem Verständnis nach, sind es aber gerade die Alpha-Kanäle, die unabhängig der Rendering-Methode (premultiplyed / unpremultiplyed) unverändert bleiben.
Vielmehr wird bei "Premultiply with Alpha" der RGB-Kanal mit dem Alpha-Kanal multipliziert.
Der einzige Grund, den ich für "Premultiply with Alpha" erkennen kann, ist der, dass das Ergebnis bereits ein Anti-Aliasing aufzeigt, obschon es eigentlich "Hintergrundlos" dargestellt werden müsste. Oder anders formuliert: Es ist als freistehendes Grafik-Element bereits hübsch anzuschauen. Später, in einem Compositing, müsste man das "Premultiply with Alpha" auf jeden Fall wieder rückgängig machen, da die schwarzen "Abdunkelungen" an den Objekt-Kanten (Anit-Alaising) eigentlich "falsch" sind. Den das Objekt steht ja nicht vor Schwarz, sondern vor dem "Nichts".
Ich habe das ganze jetzt auch nochmal genau ausgetestet. Die Alpha-Kanäle kommen bei mir immer gleich raus.
Hier das Ergebnis (Den Hintergrund habe ich zur besserer Veranschaulichung in Grau gehalten)
Genau genommen ist es doch von der Sprachlogik falsch, von vor-multiplizierten Alpha-Kanälen zu sprechen.
Macht der Autor hier einen Fehler, ist vielleicht die deutsche Uebersetzung fehlerhaft oder hab ich etwas falsch verstanden?
Gruss starcow