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.
Kapitel 3<br />
Konzeption<br />
3.1 Auswahl des Rendering Verfahrens<br />
Wie in Abschnitt 2.1.3 Volume Rendering Verfahren dargestellt, gibt es unterschiedliche<br />
Verfahren eine Volumendarstellung zu erzeugen.<br />
Da bei der Umsetzung wegen möglichst großer Portierbarkeit auf OpenGL<br />
ES 2.0 zurückgegriffen wird, ergeben sich einige technische Einschränkungen.<br />
Die Ausschlaggebendste ist, dass dort keine 3D-Texturen zur Verfügung<br />
stehen. Des Weiteren ist ein gewichtiger Grund, dass die Verwendung von<br />
3D-Texturen auch sehr grafikspeicherfüllend ist. Gerade bei mobilen oder<br />
eingebetteten Systemen kann nicht davon ausgegangen werden, dass ein Grafikspeicher<br />
in solch einer Größe vorhanden ist. Mehr zu Datengrößen können<br />
dem Abschnitt 5.1 Datenqualität und Größe entnommen werden. Um Raytracing<br />
mit einer akzeptabler Leistung durchzuführen, wird eine Hardware<br />
der aktuellen Grafikkartengeneration benötigt. Denn erste diese schaffen es,<br />
Schleifen im Shadern mit einer annehmbaren Laufzeit zu verarbeiten. Es<br />
kann davon ausgegangen werden, das die meisten Systeme nicht über eine<br />
solche Hardware verfügen, besonders im Hinblick auf eingebettete Systeme.<br />
Daher würde diese Variante, welche mehrere Schleifen benötigt, eine<br />
sehr schlechte Laufzeit erreichen. Das Shear-Warp und Splatting sind für<br />
die CPU-Umsetzungen erstellt worden, und daher nicht sonderlich geeignet<br />
für die Umsetzung mittels Hardwarebeschleunigung (GPU) und damit wegen<br />
der Aufgabenstellung nicht verwendbar. Aus diesen Gründen wurde für<br />
das weitere Vorgehen die Texture slicing Variante gewählt. Diese eignet sich<br />
hervorragend um mittels Hardwarebeschleunigung auf der GPU umgesetzt<br />
zu werden. Dabei wird sehr speicherschonend gearbeitet, da es mit wenigen<br />
2D-Texturen auskommt.<br />
Die Grundidee des Texture slicing ist in Abbildung 3.1 abgebildet. Dafür<br />
werden mehrere Ebenen hintereinander aufgereiht, sodass diese frontal<br />
vom Benutzer betrachtet werden können. Auf diese werden anschließend die