Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
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.