Refine
Document Type
- Diploma Thesis (3) (remove)
Language
- German (3)
Is part of the Bibliography
- no (3)
Keywords
- Diplomarbeit (2)
- FHD (2)
- Background separation (1)
- Echtzeit (1)
- Februar (1)
- Grafikprozessor (1)
- M (1)
- Shadersprache (1)
- Stereobildverarbeitung (1)
- Videotexturen (1)
Department/institution
- Creative Media Production and Entertainment Computing (3) (remove)
Der Programmier System Generator - PSG - des Fachgebiets Praktische Informatik in Darmstadt erzeugt aus einer Sprachdefinition eine sprachspezifische Programmierumgebung. Diese besteht u. a. aus einem Editor, welcher syntaktische und semantische Fehler von Programmfragmenten, die nicht vollständig sein müssen, erkennen kann. Dem Benutzer werden per Menü Fehlerkorrekturen angeboten. Neben der freien Texteingabe besteht die Möglichkeit, den Text nur mit Hilfe von Menüs zu verfeinern. Teil dieses Editors ist die Bezeichneranalyse. Sie dient als Hilfsmittel für den Benutzer, indem für jede Stelle eines Programmfragmentes die gültigen Bezeichner ausgegeben werden können. Die Kontextanalyse setzt die Berechnung auf den von der Bezeichneranalyse erzeugten Daten auf, um semantische Fehler zu erkennen. Die bis zu dieser Arbeit verwendete Bezeichneranalyse im PSG unterstützt nur einfache Sprachkonzepte (z. B. Fortran und Pascal). Die Gültigkeitskonzepte der Bezeichner von weiterentwickelten Sprachen (z. B. Modula-2, CHILL, Ada oder Pascal-XT) sind nicht vollständig modellierbar. Wir stellen ein neues Konzept zur Definition und Berechnung der Bezeichneranalyse vor, das alle uns bekannten Sprachen mit statischer Typbindung unterstützt. Hierfür haben wir die Sprache BIS - Bezeichneridentifikationssprache - definiert. Die Methode ist verwandt mid dem Zwischencode für geordnete Attributierte Grammatiken. Für jeden Knoten des Abstrakten Syntaxbaumes wird mit Hilfe von BIS ein Code für eine abstrakte Maschine, welche die Bezeichneranalyse durchführt, geschrieben. Im Gegensatz zu herkömlichen Methoden (verkettete Symboltabellen) wird für jeden Punkt innerhalb eines Programmes for der Anfrage durch den Benutzer oder der Kontextanalyse die Menge der gültigen Bezeichner berechnet. Die Kosten für eine Anfrage sind dadurch minimal. Diese abstrakte Maschine teilt sich in zwei unabhängige Maschinen auf, zum einen in die S-Maschine, die die speziellen Operationen der Bezeichneranalyse durchführt, und zum anderen in die G-Maschine, die den Datenfluss und die Auswertung steuert. Diese Aufteilung ermöglicht den Austausch der S-Maschine durch eine andere, welche neue Anwendungsgebiete erschliesst, z. B. die eines Praeprozessors. Die G-Maschine arbeitet inkrementell; es werden nur die Codeschablonen neu ausgewertet, deren geerbten Attribute sich geändert haben. Dazu müssen die Daten, die in einer Codeschablone hinein- und hinausfliessen, abgelegt werden. Dies ergibt bei grossen Programmfragmenten eine immense Rechenzeiteinsparung auf Kosten des Speicherplatzes. Die Funktionsweise wird an einer kleinen Beispielsprache demonstriert, die zu Pascal ähnlich ist. Diese besitzt Konstrukte zum Import und Export von Daten und Datentypen zwischen Programmfragmenten. Im Prototyp kann die inkrementelle Arbeitsweise abgeschaltet werden und ermöglicht einen guten Vergleich der Verfahren.
Für moderne interaktive Anwendungen wird es immer wichtiger, einen Benutzer durch zusätzlichen Ballast so wenig wie möglich einzuschränken. Daher bietet sich eine kamerabasierte Interaktionserkennung an. Viele existierende Verfahren benötigen dazu aber einen weitestgehend statischen Hintergrund. In der gegebenen Anwendung allerdings befindet sich im Sichtbereich der Kameras eine Projektion bewegter Inhalte, mit denen ein Benutzer interagieren kann. Im Rahmen dieser Arbeit sollte ein bestehendes, auf Infrarotlicht basierendes System verbessert werden, das sich bisher als beleuchtungsabhängig erwiesen hat. Dazu wurden zunächst mehrere Verfahren zur Trennung von Vorder- und Hintergrund auf ihre Tauglichkeit untersucht. Das favorisierte Verfahren sollte anschließend durch stereoskopische Bildaufnahme - und damit tiefenbasierte Trennung - so verbessert werden, dass der bewegte Hintergrund sicher unterdrückt wird. Dies erwies sich für die gewünschten Anwendungen zwar als nicht praktikabel, dennoch wurden mögliche andere Anwendungsbereiche gefunden. Auch die Untersuchung der einzelnen Trennungsverfahren lieferte ein Ergebnis, das - mit weiteren Tests - zur Verbesserung der bestehenden Installation beitragen kann.
Der Autor stellt eine Methode vor, um einer computergenerierten Szene auf neue Art und Weise zusätzlichen Realismus zu verleihen. Er tut dies unter Erweiterung des traditionellen festen Shadingmodells durch Bildsequenzen (nachfolgend Videotextur genannt), welche die Oberflächen anderer Objekte innerhalb einer Szene in Echtzeit beleuchten. Im Rahmen der Diplomarbeit wurde eine Beispielanwendung erstellt, in der eine vorbeiziehende Landschaft (Videotextur) auf den Innenraum eines computergenerierten Zuges (3D-Polygon-Geometrie) einen Beleuchtungseinfluß ausübt. Diese Integration von real gefilmtem Material und computergenerierten Bildern ist eine übliche Vorgehensweise bei Spezialeffekten für Film und Fernsehen, aber erst seit kurzem bietet die durchschnittliche PC-Grafikhardware entsprechende Möglichkeiten unter Echtzeitbedingungen an. Um dieses Vorhaben umzusetzen wird umfangreicher Gebrauch der OpenGL Shader- Hochsprache gemacht, durch die ein Shaderentwickler in der Lage ist, mit einem C-ähnlichen Programm die Pixelberechnungsfunktionalität der Grafikkarte seinen W ünschen entsprechend anzupassen.