Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.1. 2D TEXTURE-SLICED VOLUMEN RENDERING 29<br />
Abbildung 4.3: Mittels Transferfunktion dargestellte Ebenen Links: Einzelne<br />
Texturen (20 Ebenen) Rechts: Mehrfach Texturen (200 Ebenen)<br />
4.1.4 Zusammensetzung im Framebuffer<br />
Damit das Volumen Rendering Integral 2.4 vollständig umgesetzt wird, fehlt<br />
noch die Aufsummierung der einzelnen Farbwerte der Ebenen. Diese Aufgabe<br />
wird hardwarebeschleunigt vom Framebuffer ausgeführt. Damit diese so<br />
ausgeführt werden kann, müssen die Farbwerte der Ebenen, vom Betrachter<br />
aus gesehen, von Hinten nach Vorne verarbeitet werden. Dafür kann das<br />
unter Compositing beschriebene 2.4.3 Alpha-Blending verwendet werden.<br />
Damit das Alpha-Blending die Werte einfach aufsummiert, kann folgende<br />
Funktion verwendet werden.<br />
glAlphaFunc (GL SRC ALPHA, GL ONE MINUS SRC ALPHA)<br />
Dieses bedeutet, dass von dem neuen Fragment, nur in Höhe seines Alpha-<br />
Wertes eingeht und das im Framebuffer schon vorhandene mit der Differenz<br />
dazu. Wenn C ∈ R, G, B die Farbe darstellt und A für die Alphawert steht,<br />
dann entspricht das Mathematisch:<br />
C dest = C src A src + C fb (1 − A src )<br />
Die Aufsummierung von Hinten nach Vorne hat aber auch einen Nachteil.<br />
Ausgegangen vom Raytracingansatz wird hierbei der Strahl rückwärts ausgewertet.<br />
Daher ist es bei diesem Ansatz nicht möglich, die Berechnung<br />
vorzeitig abzubrechen, wenn der Farbwert sich optisch nicht mehr ändern<br />
würde (early ray termination).