19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

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 <strong>Visual</strong> Programming Toolkits 67<br />

Low Level ToolKits<br />

Die wesentlichen Low Level ToolKit (LLTK) sind OpenGL[KG08] <strong>und</strong> DirectX[Mic08b]<br />

bzw. ToolKits, die darauf aufbauen, wie der Simple DirectMedia Layer (SDL) [Tea08].<br />

Diese ToolKits ermöglichen direkten Zugriff auf die Grafikhardware <strong>und</strong> erlauben damit<br />

die höchste Performanz.<br />

Expression Power 2D: Die Graphics Processing Unit (GPU)s aktueller Grafikkarten<br />

sind auf das Verarbeiten von 3D Grafiken ausgelegt. Da es sich bei 2D Grafiken<br />

prinzipiell um einen Unterbereich der 3D Grafiken handelt, lassen sich die LLTK<br />

auch sehr gut dafür einsetzen. Dies lässt sich daran erkennen, dass 2D Bibliotheken<br />

manchmal OpenGL einsetzen, um das Rendern zu beschleunigen. Cairo[Mac08]<br />

oder Adobe in ihrer CS4 Programm Serie setzt auf DirectX 9.0 <strong>und</strong> OpenGL<br />

2.0[Asi08b].<br />

3D: Da die LLTKs gerade für schnelle 3D Grafiken entwickelt wurden, können<br />

eigentlich alle 3D Diagramme umgesetzt werden.<br />

Effekte: Mittels Shadern lassen sich alle Effekte in guter Geschwindigkeit<br />

realisieren.<br />

High Level Die Vorteile in Ausdruckskraft <strong>und</strong> Performanz der LLTKs werden durch<br />

große Abstriche im Bereich der Abstraktion <strong>und</strong> Komfortabilität erreicht. Die<br />

Gr<strong>und</strong>bibliotheken an sich konzentrieren sich auf eine sehr hardwarenahe<br />

Umsetzung von 3D Grafiken <strong>und</strong> sind kaum darauf ausgelegt, leicht oder schnell<br />

benutzbar zu sein.<br />

Performanz Aufgr<strong>und</strong> des direkten Hardwarezugriffs <strong>und</strong> dadurch, dass keine Bindung<br />

an ein Framework gegeben ist, können problemspezielle Lösungen entwickelt<br />

werden, welche in der Regel performanter sind als Toolkit-Lösungen. Auch wird<br />

bei manchen anderen Lösungen ein weiterer Interpreter (z. B. Flash <strong>und</strong> Java)<br />

eingesetzt, anstatt native zu arbeiten, oder es kommt Verwaltungsaufwand durch<br />

ein Framework hinzu (z. B. WPF[Fer06]). Allerdings gibt es bei LLTKs einen<br />

höheren Arbeitsaufwand <strong>und</strong> damit die Gefahr (im Vergleich zu ToolKits, die auf<br />

einem höherem Level arbeiten) durch eine schlechte Umsetzung trotz allem ein<br />

langsameres Programm zu erzeugen. Adam Nathans schreibt dazu: „it’s easy to<br />

write a DirectX program that is faster than the same program in WPF – but it’s<br />

even easier to write a program in DirectX that is slower than the WPF application<br />

“ [Nat06].<br />

Tools Da LLTKs meist als einfache Bibliotheken realisiert sind, lassen sie sich in alle<br />

größeren Programmiersprachen <strong>und</strong> IDE einbinden <strong>und</strong> zeigen sich auch hier<br />

wieder sehr flexibel. Dies ist allerdings meist eine recht rudimentäre Unterstützung.<br />

Es werden noch Debugger für OpenGL oder Direct3D benötigt. Zusätzlich gibt<br />

es Tools zum Erstellen <strong>und</strong> Debuggen von Shadern. Prinzipiell muss bei LLTKs

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!