31.10.2013 Aufrufe

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

MEHR ANZEIGEN
WENIGER ANZEIGEN

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).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!