Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung WS 2013/14.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung WS 2013/14."—  Präsentation transkript:

1 Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung WS 2013/14 Dozent: Prof. Dr. Thaller von Mariantonietta Bellia

2 1. Einführung in die Spielprogrammierung 1. Einführung in die Spielprogrammierung 2. DirectX und C++ 2. DirectX und C++ 3. Spiele-Engine 3. Spiele-Engine 4. Zufallszahlen, Nachrichtschleife im TriBase-Engine und Hilfsmakros 4. Zufallszahlen, Nachrichtschleife im TriBase-Engine und Hilfsmakros 5. Fazit 5. Fazit

3 Was UNS erwartet: Ein Blick auf die Grundsätze der Spielprogrammierung, sowie interessanten Techniken der 3D Grafik Ein Blick auf die Grundsätze der Spielprogrammierung, sowie interessanten Techniken der 3D Grafik Schritt für Schritt DirectX kennenlernen Schritt für Schritt DirectX kennenlernen Grafikeffekte und Algorithmen Grafikeffekte und Algorithmen spezifische Spieltypen spezifische Spieltypen wie plant man einen Spiel (Planung) wie plant man einen Spiel (Planung) und Spiele-Engine (Spiele programmieren durch Beispiele) und Spiele-Engine (Spiele programmieren durch Beispiele)

4 Was UNS nicht erwartet: keine exakte Einleitung wie man einen Spielprogrammiert keine exakte Einleitung wie man einen Spielprogrammiert lehrt nicht die C++ Programmiersprache lehrt nicht die C++ Programmiersprache es ersetzt nicht die Microsoft „DirectX- Dokumentation“ es ersetzt nicht die Microsoft „DirectX- Dokumentation“

5 Unterschied zwischen „Büroanwendung“ und einem „Spiel“: „Büroanwendung“ = Effektivität „Büroanwendung“ = Effektivität „Spiel“= Spaß ist der Zweck „Spiel“= Spaß ist der Zweck Vorraussetzung das es Spaß macht (gute Grafik und guten Sound/Musik) Vorraussetzung das es Spaß macht (gute Grafik und guten Sound/Musik)

6 die wichtigsten und häufigsten Typen, sollte man eigene Präfixe verwenden die wichtigsten und häufigsten Typen, sollte man eigene Präfixe verwenden alle vorhandene Quellcodes machen sich die „ungarische Notation“ zunutze alle vorhandene Quellcodes machen sich die „ungarische Notation“ zunutze

7 Man sieht wie ein Spiel mit linearen Programmierung funktioniert. Man sieht wie ein Spiel mit linearen Programmierung funktioniert. Was wird ausgeführt? Was wird ausgeführt?

8 Eingabe, Verarbeitung und Fortbewegung= auch „Move- Funktion“ genannt Eingabe, Verarbeitung und Fortbewegung= auch „Move- Funktion“ genannt Beispiel einer integrierten Render- und Move-Funktion Beispiel einer integrierten Render- und Move-Funktion Diagnose: Wichtig die Zeit Verhältnisse im Spiel zu beachten Diagnose: Wichtig die Zeit Verhältnisse im Spiel zu beachten Ausgabe= demonstriert uns die aktuelle Lage Ausgabe= demonstriert uns die aktuelle Lage GameState“= Spielstatus der in Spielabschnitte aufgeteilt ist GameState“= Spielstatus der in Spielabschnitte aufgeteilt ist

9 DirectX Graphics: um anspruchsvolle und schnelle 3D Grafik im Spiel zu implementieren DirectX Graphics: um anspruchsvolle und schnelle 3D Grafik im Spiel zu implementieren DirectX Audio: Soundeffekte (besteht aus DirectSound und DirectMusic) DirectX Audio: Soundeffekte (besteht aus DirectSound und DirectMusic) DirectInput: Eingabe zuständig (Bespiel: Game-Pad) DirectInput: Eingabe zuständig (Bespiel: Game-Pad) DirectPlay: lässt Spieler vom Internet, Netzwerk, Kabelverbindung oder sogar per Telefonverbindung spielen lassen DirectPlay: lässt Spieler vom Internet, Netzwerk, Kabelverbindung oder sogar per Telefonverbindung spielen lassen DirectShow: gibt die Möglichkeit alle Multimedia-Dateien abzuspielen zu können (MP3 bis zu MPEG-Video) DirectShow: gibt die Möglichkeit alle Multimedia-Dateien abzuspielen zu können (MP3 bis zu MPEG-Video) Besitzt bereits einen DirectX-Header- und Bibliotheksdateien Besitzt bereits einen DirectX-Header- und Bibliotheksdateien Verwendung von COM= „Komponentenobjektmodell“ Verwendung von COM= „Komponentenobjektmodell“

10 Was ist Engine= Antrieb oder Motor für das Spiel Was ist Engine= Antrieb oder Motor für das Spiel 2 Arten von Anwendungsbereiche: 1. Spezialisierte Engines und 2. Universelle Engines 2 Arten von Anwendungsbereiche: 1. Spezialisierte Engines und 2. Universelle Engines „Verpackung“ einer Engine: Man unterscheidet zwischen 1. Statischer Engine (wird zur einer LIB-Datei) und 2. Dynamische Engine (DLL-Dateien) „Verpackung“ einer Engine: Man unterscheidet zwischen 1. Statischer Engine (wird zur einer LIB-Datei) und 2. Dynamische Engine (DLL-Dateien)

11 Namengebung (Funktionsname immer mit „tb“ beginnen) Namengebung (Funktionsname immer mit „tb“ beginnen) Feature Implementieren (wie z.B. Initialisierung von DirectX-Schnittstellen durch optimierte Klassen für Vektoren Feature Implementieren (wie z.B. Initialisierung von DirectX-Schnittstellen durch optimierte Klassen für Vektoren laden von Texturen, Darstellung von 3D-Objekte, Effekte Feuer etc. laden von Texturen, Darstellung von 3D-Objekte, Effekte Feuer etc. Textausgabe Textausgabe Zugriff auf Eingabegeräte Zugriff auf Eingabegeräte abspielen von 3D Sounds abspielen von 3D Sounds

12 HTML-Logbuchfunktion = Ereignisprotokolldatei (enthält das automatisch geführte Protokoll von automatischer ausgeführten Aktionen) HTML-Logbuchfunktion = Ereignisprotokolldatei (enthält das automatisch geführte Protokoll von automatischer ausgeführten Aktionen) Speicherverwaltung (TriBase- Speichermanager): führt eine genaue Liste über jeden Größe, Gültigkeit, Änderung, Freigabe oder reservierten Speicherbereichs auch Virtuelle Dateien genannt Speicherverwaltung (TriBase- Speichermanager): führt eine genaue Liste über jeden Größe, Gültigkeit, Änderung, Freigabe oder reservierten Speicherbereichs auch Virtuelle Dateien genannt

13 Zufallszahlen: kann man durch einen int- und float-Wert generieren (tbIntRandom und tbFloatRandom z. B. (0.0f, 150.0f) Zufallszahlen: kann man durch einen int- und float-Wert generieren (tbIntRandom und tbFloatRandom z. B. (0.0f, 150.0f) Die Nachrichtschleife im TriBase-Engine arbeitet mit Funktionszeiger. Hier werden zwei Parameter selbst definiert (zum Bewegen und zum Rendern) Die Nachrichtschleife im TriBase-Engine arbeitet mit Funktionszeiger. Hier werden zwei Parameter selbst definiert (zum Bewegen und zum Rendern) Hilfsmakros: - Sicherheitsmakros (automatisieren häufig auszuführende Aufgaben und sicheres Löschen) und - Fehlermakros (Ort wo Fehlers vermerkt werden) Hilfsmakros: - Sicherheitsmakros (automatisieren häufig auszuführende Aufgaben und sicheres Löschen) und - Fehlermakros (Ort wo Fehlers vermerkt werden)

14 fundierte Kenntnis in C++ fundierte Kenntnis in C++ modernen PC mit 3D- Karte modernen PC mit 3D- Karte Geduld und logisches Denkvermögen (Mathematikkenntnis) Geduld und logisches Denkvermögen (Mathematikkenntnis) bei Problemen sich an: http://www.spieleprogram mierer.de wenden! bei Problemen sich an: http://www.spieleprogram mierer.de wenden! http://www.spieleprogram mierer.de http://www.spieleprogram mierer.de viel EXPERIMENTIEREN!!! viel EXPERIMENTIEREN!!! Wenn es so einfach wäre!!

15 David, Scherfgen: 3D-Spieleprogrammierung; Mit DirectX9 und C++. Carl Hanser Verlag, München Wien2006. (Seite1 - 40). David, Scherfgen: 3D-Spieleprogrammierung; Mit DirectX9 und C++. Carl Hanser Verlag, München Wien2006. (Seite1 - 40).


Herunterladen ppt "Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung WS 2013/14."

Ähnliche Präsentationen


Google-Anzeigen