Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Präsentation der Diplomarbeit: Erstellung eines 3D-Funktions- zeichenprogramms in der Programmiersprache C++ unter Verwendung von Direct3D Fachhochschule.

Ähnliche Präsentationen


Präsentation zum Thema: "Präsentation der Diplomarbeit: Erstellung eines 3D-Funktions- zeichenprogramms in der Programmiersprache C++ unter Verwendung von Direct3D Fachhochschule."—  Präsentation transkript:

1 Präsentation der Diplomarbeit: Erstellung eines 3D-Funktions- zeichenprogramms in der Programmiersprache C++ unter Verwendung von Direct3D Fachhochschule Amberg-Weiden Fachbereich Elektro- und Informationstechnik von Stefan Bartmann Studiengang Elektrotechnik, Studienschwerpunkt Multimediatechnik Datum:

2 2 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung

3 3 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?

4 Klärung der Aufgabenstellung4 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 Welche Art von Funktionszeichenprogramm ist zu erstellen?

5 Klärung der Aufgabenstellung5 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! Wieso eignet sich Direct3D für die Umsetzung eines 3D-Funktionszeichenprogramms?

6 Klärung der Aufgabenstellung6 schnell flexibel Warum soll die Programmiersprache C++ verwendet werden?

7 7 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung

8 8 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 Funktionsweise von Direct3D

9 9 Win32- Anwendung Direct3D Grafikkartentreiber Grafikkarte Monitor HAL Im Gesamtzusammenhang auftretende Vorgänge beim Zeichnen mit Direct3D Hardware Abstractive Layer

10 Funktionsweise von Direct3D10 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 Zusammenspiel von Direct3D mit einem Win32- Programm

11 Funktionsweise von Direct3D11 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 Die Organisation der zu zeichnenden Daten

12 Funktionsweise von Direct3D12 Beispiel: Jeweils drei im Vertexpuffer abgelegte Vertices werden für das Zeichnen eines Dreieckes herangezogen Die Organisation der zu zeichnenden Daten

13 Funktionsweise von Direct3D13 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 Umrechnung des 3D-Modelles in 2D- Bildschirmkoordinaten

14 14 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung

15 15 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 Bestandteile des Funktionszeichenprogrammes

16 16 Ablaufstruktur

17 Bestandteile des Funktionszeichenprogrammes 17 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

18 Bestandteile des Funktionszeichenprogrammes 18 Vertices werden in einem Dreiecksraster vorausberechnet: Logik zur Verwaltung und Berechnung der Funktionsdaten

19 Bestandteile des Funktionszeichenprogrammes Zeitparameter: –Für jeden darzustellenden Zeitpunkt muss die Funktion berechnet werden –Der Vertexpuffer muss für jeden Zeitpunkt neu belegt werden Logik zur Verwaltung und Berechnung der Funktionsdaten

20 20 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung

21 21 Vortragsinhalt Klärung der Aufgabenstellung Funktionsweise von Direct3D Bestandteile des Funktionszeichenprogrammes Demonstration des Funktionszeichenprogrammes Zusammenfassung

22 22 Nutzen des Funktionsplotters Hilfe fehlt Mögliche Verbesserungen des Funktionszeichenprogrammes: –Einsatz von Echtzeitbeleuchtungseffekten –Einbau einer Kollisionsabfrage –Erweiterung der Autopilot-Möglichkeiten Zusammenfassung


Herunterladen ppt "Präsentation der Diplomarbeit: Erstellung eines 3D-Funktions- zeichenprogramms in der Programmiersprache C++ unter Verwendung von Direct3D Fachhochschule."

Ähnliche Präsentationen


Google-Anzeigen