31.10.2013 Aufrufe

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4.1. 2D TEXTURE-SLICED VOLUMEN RENDERING 28<br />

varying vec3 textCoord ;<br />

uniform sampler2D t e x t u r e 0 ;<br />

uniform sampler2D t e x t u r e 1 ;<br />

void main ( void )<br />

{<br />

f l o a t mixColor , c o l o r 0 , c o l o r 1 , alpha ;<br />

// Konstante Transparenz<br />

alpha = 0 . 0 1 ;<br />

c o l o r 0 = texture2D ( texture0 , textCoord . xy ) . r ;<br />

c o l o r 1 = texture2D ( texture1 , textCoord . xy ) . r ;<br />

// Lineare I n t e r p o l a t i o n zwischen den Texturen<br />

mixColor = mix ( c o l o r 0 , c o l o r 1 , textCoord . z ) ;<br />

g l F r a g C o l o r = vec4 ( mixColor , mixColor , mixColor , alpha ) ;<br />

}<br />

Listing 4.5: Fragmentshader für mehrere Texturen mit konstanter<br />

Transparenz<br />

Nachdem nun auch in Richtung der letzten Achse interpoliert wurde, ist<br />

die gesamte Volumengrafik nun trilinear interpoliert. Dieser Effekt muss,<br />

wenn im Shader mit 2D-Texturen gearbeitet wird, selbstständig umgesetzt<br />

werden. Bei 3D-Texturen wäre dieses automatisch enthalten, denn bei den<br />

Texturzugriffen würde gleich trilinear interpoliert werden. Bei diese Umsetzung<br />

ist durch etwas mehr Aufwand, die selbe Funktionalität entstanden,<br />

welche bei 3D-Texturen vorhanden wäre. Nur das diese Variante mit weniger<br />

Grafikkartenspeicher auskommt.<br />

Da die Anzahl der Ebenen nun gezielt geändert werden kann, ist es zB. möglich,<br />

bei schlechterer Hardware eine geringere Ebenenanzahl zu verwenden,<br />

um die Anzeige zu beschleunigen. Darunter leidet jedoch die Bildqualität.<br />

Analog kann durch zusätzlichen Ebenen eine bessere Approximation des Volumens<br />

erhalten werden, um die Bildqualität zu erhöhen. Durch die Verwendung<br />

einer Transferfunktion, beschrieben in 4.2.1 Transferfunktion, werden<br />

die auftretenden Stufenartefakte der Volumendarstellung sichtbar reduziert.<br />

Diese Auswirkung ist auf der Abbildung 4.3 gut zu erkennen.<br />

Diese Umsetzung hat jedoch einen großen Nachteil. Für jede Ebene müssen<br />

individuell die passenden Texturen in den Texturspeicher der Grafikkarte<br />

übertragen werden, was einiges an Zeit beansprucht. Alle Ebenentexturen<br />

in den Grafikkartenspeicher zu übertragen, wäre bei kleineren Datensätzen<br />

möglich. In der Realität aber unrealistisch, da gängige Datensätze meistens<br />

den Grafikkartenspeicher übersteigen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!