Titelaufnahme

Titel
Design and implementation of a shader infrastructure and abstraction layer / von Michael May
VerfasserMay, Michael
Begutachter / BegutachterinWimmer, Michael ; Tobler, Robert F.
ErschienenWien, 2015
Umfangix, 96 Seiten : Illustrationen, Diagramme
HochschulschriftTechnische Universität Wien, Diplomarbeit, 2015
Anmerkung
Kurzfassung in deutscher Sprache
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (EN)Real-Time Rendering / Shader Programming / Embedded / Domain Specific Language
URNurn:nbn:at:at-ubtuw:1-83255 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
Design and implementation of a shader infrastructure and abstraction layer [4.7 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Die Programmierung der Grafikkarte ist wichtiger denn je, aber die Entwicklung für die dafür nötigen Shader Programme und deren Verwaltung ist eine schwierige Aufgabe. Es stellt sich die Frage ob dieser Prozess in die Programmiersprache C# eingebettet und dessen Entwicklungswerkzeuge unterstützend genutzt werden können? Um dieser Frage auf den Grund zu gehen, wurde in dieser Arbeit ein System entworfen und implementiert um Shader-Programmierung zu abstrahieren und mittels einer internal Domain Specific Language (kurz: iDSL) in C# zu integrieren. Das Back-end kann mittels Erweiterungen um beliebige weitere Optimierungen und unterschiedliche Shader-Programm-Dialekte ergänzt werden. Das implementierte Framework ermöglicht Shaderprogrammierern die Entwicklungswerkzeuge von C# zu nutzen, wie zB. automatische Textvorschläge und Vervollständigungen oder Typ-System-Fehlererkennung im Editor.

Zusammenfassung (Englisch)

Programming the GPU is more important than ever, but the organization and development of shader code for the GPU is a difficult task. Can this process be embedded into the high level language C#, gain from the features of its toolchain and enrich shader development? For this purpose this thesis describes the design and implementation of a framework to abstract and embed shader development into C# with an internal domain-specific language (iDSL for short) as front-end and a plug-in system in the back-end to support expandable optimizations and different shader languages as targets. The implemented framework fits shader development into the C# toolchain, supporting autocompletion, and type error checking in the editor. The system offers good modularity and encourages developing shaders in reusable parts.