Diplomarbeitsvortrag (PPT

 Documents

 50 views
of 22
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
Fachhochschule Amberg-Weiden Fachbereich Elektro- und Informationstechnik Präsentation der Diplomarbeit: „Erstellung eines 3D-Funktions- zeichenprogramms in…
Share
Transcript
Fachhochschule Amberg-Weiden Fachbereich Elektro- und Informationstechnik Präsentation der Diplomarbeit: „Erstellung eines 3D-Funktions- zeichenprogramms in der Programmiersprache C++ unter Verwendung von Direct3D“ von Stefan Bartmann Studiengang Elektrotechnik, Studienschwerpunkt Multimediatechnik Datum: 27. 01.2003 Vortragsinhalt → Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung 2 Klärung der Aufgabenstellung 1. Welche Art von Funktionszeichenprogramm ist zu erstellen? 2. Wieso eignet sich Direct3D für die Umsetzung eines 3D-Funktionszeichenprogramms? 3. Warum soll die Programmiersprache C++ verwendet werden? 3 Welche Art von Funktionszeichenprogramm ist zu erstellen? • Funktionen der Form z = f(x,y) als Fläche im Raum darstellen • Angabe eines Zeitparameters in der Funktionsgleichung möglich • Interaktivität in Echtzeit während der Darstellung möglich • Skalierbarkeit =>Motivation: „Erfahren“ von Funktionen soll interaktiv möglich sein, um ein Verständnis für die Funktionsgleichung zu entwickeln Klärung der Aufgabenstellung 4 Wieso eignet sich Direct3D für die Umsetzung eines 3D-Funktionszeichenprogramms? • DirectX kapselt den direkten Zugriff auf Computerhardware • Direct3D ist Teil von DirectX und bietet Schnittstellen für die Ausgabe von 3D-Grafik an • flexibel zu handhaben • Ausnutzung der Rechenkapazität von Grafikbeschleunigungskarten => Ausführungsgeschwindigkeit Voraussetzung: Es muss eine Grafikkarte vorhanden sein, welche Hardwareunterstützung beim Zeichnen bietet! Klärung der Aufgabenstellung 5 Warum soll die Programmiersprache C++ verwendet werden? • schnell • flexibel Klärung der Aufgabenstellung 6 Vortragsinhalt Klärung der Aufgabenstellung → Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung 7 Funktionsweise von Direct3D Auf folgende Aspekte soll im Anschluss eingegangen werden: 1. Im Gesamtzusammenhang auftretende Vorgänge beim Zeichnen mit Direct3D 2. Zusammenspiel von Direct3D mit einem Win32- Programm 3. Die Organisation der zu zeichnenden Daten 4. Umrechnung des 3D-Modelles in 2D- Bildschirmkoordinaten 8 Im Gesamtzusammenhang auftretende Vorgänge beim Zeichnen mit Direct3D Win32-Anwendung Direct3D HAL Hardware Abstractive Layer Grafikkartentreiber Grafikkarte Monitor Funktionsweise von Direct3D 9 Zusammenspiel von Direct3D mit einem Win32- Programm • Verständigung zwischen einer Win32-Anwendung und DirectX wird über die COM-Schnittstelle abgewickelt Schritte, welche in einem Win32-Programm durchgeführt werden müssen, um mittels Direct3D zu zeichnen: 1. Erzeugen eines Fensters für die Ausgabe 2. Direct3D mitteilen, welches Fenster für die Ausgabe verwendet werden soll 3. Auswählen eines Adapters, über welchen die Grafikausgabe stattfinden soll 4. Direct3D mitteilen, welcher Adapter für die Grafikausgabe gewählt wurde 5. Zeichenbefehle an Direct3D übermitteln Funktionsweise von Direct3D 10 Die Organisation der zu zeichnenden Daten • Direct3D mittels des FVF (Flexible Vertex Format) mitteilen, welche Komponenten die zu zeichnenden Vertices enthalten sollen Beispielsweise: – Position – Normalenvektor – Farbkomponenten – … • Erzeugen von „Vertexpuffern“ für die Ablage der Vertices Funktionsweise von Direct3D 11 Die Organisation der zu zeichnenden Daten • Beispiel: Jeweils drei im Vertexpuffer abgelegte Vertices werden für das Zeichnen eines Dreieckes herangezogen Vertices Vertexpuffer Dreieck Funktionsweise von Direct3D 12 Umrechnung des 3D-Modelles in 2D- Bildschirmkoordinaten • Vertices liegen als dreidimensionale Punkte im Vertexpuffer vor, die Ausgabeoberfläche ist aber zweidimensional • Die Betrachtungsrichtung und die Position der Kamera sollen beliebig sein =>es sind Transformationen erforderlich, welche durch Matrizen repräsentiert werden – Matrix für Kameratransformation enthält Translation und Rotation – Matrix für Projektionstransformation, welche perspektivische Abbildung von 3D nach 2D leistet • Transformierungen werden von D3D berechnet, wenn dies die Grafikkarte nicht beherrscht Funktionsweise von Direct3D 13 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D →Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung 14 Bestandteile des Funktionszeichenprogrammes • Ablaufstruktur • Funktionsparser • Textausgabe in das Zeichenfenster • Koordinatenkreuz • Benutzerinterface beinhaltet Eingaben über – Tastatur während der Darstellung der Funktion – Menü – Dialoge • Logik zur Verwaltung und Berechnung der Funktionsdaten 15 Ablaufstruktur Anwendung herunterfahren Initialisierung nein Anwendung ja fortsetzen? verarbeite Windows-Meldungen Synchronisation verarbeite Benutzereingaben Zeichenvorgang führe Aktualisierungen der Objekte durch Bestandteile des 16 Funktionszeichenprogrammes Funktionsparser • Übernommen und Angepasst an eigene Bedürfnisse • Wiederholtes Berechnen kann beschleunigt ausgeführt werden • Unterstützte Operaden: + - * / ^ • Unterstützte Funktionen: sin asin cos acos tan atan sqrt log log10 Bestandteile des 17 Funktionszeichenprogrammes Logik zur Verwaltung und Berechnung der Funktionsdaten • Vertices werden in einem Dreiecksraster vorausberechnet: Y X Bestandteile des 18 Funktionszeichenprogrammes Logik zur Verwaltung und Berechnung der Funktionsdaten • Zeitparameter: – Für jeden darzustellenden Zeitpunkt muss die Funktion berechnet werden – Der Vertexpuffer muss für jeden Zeitpunkt neu belegt werden ... Zeitpunkt 1 Zeitpunkt 2 Zeitpunkt n Bestandteile des 19 Funktionszeichenprogrammes Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes → Demonstration des Funktionszeichenprogrammes Zusammenfassung 20 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes → Zusammenfassung 21 Zusammenfassung • Nutzen des Funktionsplotters • Hilfe fehlt • Mögliche Verbesserungen des Funktionszeichenprogrammes: – Einsatz von Echtzeitbeleuchtungseffekten – Einbau einer Kollisionsabfrage – Erweiterung der „Autopilot“-Möglichkeiten 22
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks