Ogre Einführung Teil 1



Ähnliche Dokumente
Anleitung über den Umgang mit Schildern

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

Installation und Inbetriebnahme von Microsoft Visual C Express

Konvertieren von Settingsdateien

! " # $ " % & Nicki Wruck worldwidewruck

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Qt-Projekte mit Visual Studio 2005

Arbeiten mit UMLed und Delphi

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Einführung in TexMaker

Wie halte ich Ordnung auf meiner Festplatte?

BELIEBIG GROßE TAPETEN

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

QTTabBar Einrichtung, ein Tutorial

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Standard-Formatvorlagen in WORD und WRITER

Erstellen der Barcode-Etiketten:

Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden.

Hex Datei mit Atmel Studio 6 erstellen

Dateimanagement in Moodle Eine Schritt-für

Menü auf zwei Module verteilt (Joomla 3.4.0)

Stammdatenanlage über den Einrichtungsassistenten

Vorbereitung einer Grafik zum Druck einer Glotze aus, Stadion an! -Zaunfahne Torsten Bunde, Stand 5. Juli 2014

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

V-DOK 2.0 ClientUpdate und Scannen mit ScandAllPro Scannen unter V-DOK 2.0 ist nicht mehr im Standard verfügbar.

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Elexis-BlueEvidence-Connector

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Handbuch für Redakteure

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Visual Basic Express Debugging

Informationen zur Verwendung von Visual Studio und cmake

Datei Erweiterungen Anzeigen!

Satzhilfen Publisher Seite Einrichten

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Anleitung zur Verwendung der VVW-Word-Vorlagen

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Installation / Update für die P aketdatenbank 1.x (Version )

Primzahlen und RSA-Verschlüsselung

1.3. Installation und Konfiguration von Filr Desktop

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Installation - Start

Internet online Update (Mozilla Firefox)

Thunderbird herunterladen, Installieren und einrichten Version (portable)

Gruppenrichtlinien und Softwareverteilung

Installation OMNIKEY 3121 USB

Print2CAD 2017, 8th Generation. Netzwerkversionen

etoken mit Thunderbird verwenden

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Barcodedatei importieren

Hardware - Software - Net zwerke

Der Kalender im ipad

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Enigmail Konfiguration

Stepperfocuser 2.0 mit Bootloader

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Nokia Handy - Daten sichern.

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner s

Produktschulung WinDachJournal

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Zahlen auf einen Blick

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Um in das Administrationsmenü zu gelangen ruft Ihr Eure Seite auf mit dem Zusatz?mod=admin :

Dokumentation IBIS Monitor

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Informatik I Tutorial

Voraussetzung. Anleitung. Gehen Sie auf Start Einstellungen und suchen Sie hier den Eintrag Datenverbindungen oder Verbindungen. Öffnen Sie diesen.

Terminabgleich mit Mobiltelefonen

Drucken aus der Anwendung

Drägerware.ZMS/FLORIX Hessen

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

3 Installation von Exchange

Speichern. Speichern unter

Bedienungsanleitung für den SecureCourier

WinVetpro im Betriebsmodus Laptop

Flash Videos einbinden

Toolbeschreibung: EVERNOTE

Kleines Handbuch zur Fotogalerie der Pixel AG

Datensicherung. Beschreibung der Datensicherung

Hilfe zu XR PACS ImageproWeb. Inhalt. Windows Updates. IE11 und Windows 7/8

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Kostenloses OCR-Programm für Frakturschrift Alternative zu Abbyy Fine Reader

Microsoft Visual Studio Community 2015

Transkript:

Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode. Das Ziel dieser Reihe ist es dem Leser das Arbeiten mit der 3D Engine Ogre näher zu bringen, dabei werden wir damit anfangen, woher man die Engine bekommt, diese installiert und seine IDE, in diesem Fall Visual Studio 2005, entsprechend einzurichten. Zum Abschluss schreiben wir ein Programm, das Ogre benutzt, um ein Fenster zu öffnen. Am Anfang wird einem alles etwas seltsam und umständlich vorkommen, dies wird sich aber im Verlauf der Reihe klären, nachdem man in die Tiefen von Ogre eingetaucht ist. Zum Verständnis dieser Reihe sind Grundkenntnisse in C++ notwendig und es sollte auch schon etwas Erfahrung in C++ vorhanden sein. Ist dies nicht der Fall, sollte auf jeden Fall vorher das fehlende Wissen erarbeitet werden. Installieren und Einrichten von Ogre Bevor wir mit Ogre entwickeln können benötigen wir erst mal das aktuelle Ogre SDK. Zu finden ist dieses auf der Downloadseite von Ogre 1. Nachdem das SDK runtergeladen ist, sollte der Installer ausgeführt werden. Ist dies vollbracht, muss noch die Entwicklungsumgebung angepasst werden und schon kann es losgehen. Ich verwende Microsoft Visual Studio 8.0, soll eine andere Entwicklungsumgebung verwendet werden findet man im Wiki von Ogre 2 die passende Beschreibung zum Einstellen seiner Entwicklungsumgebung. Als Erstes muss Visual Studio gestartet werden, danach öffnet man in der Menüleiste den Dialog Tools und dort klickt man auf den Menüpunkt Optionen. 1 http://ogre.org/index.php?option=com_remository&itemid=57&func=selectcat&cat=1 2 http://www.ogre.org/wiki/index.php/settingupanapplication

Es sollte sich folgendes Fenster öffnen Dann wählt man im Punkt Projekte und Projektmappen den Unterpunkt VC++ Directories Danach wählt man im Scrolldown Menü Show directories for: den Punkt Include files

Dort fügt man nun die folgende 2 Pfade ein: - Pfad zum OgreSDK\include - Pfad zum OgreSDK\samples\include Ist dies erledigt, wechselt man zum Punkt Libary files im Scrolldown Menu Show directories for: Dort fügt man folgende Pfad ein Pfad zum OgreSDK\lib Danach bestätig man den Optionen Dialog mit Ok. Jetzt ist VisualStudio fertig eingerichtet und man kann mit seiner ersten Ogre Anwendung beginnen. Die erste Anwendung Bevor wir unser erstes Ogreprojekt erstellen, sollten wir uns Gedanken über eine sinnvolle

Ordnerstruktur machen. Am einfachsten wäre es für den späteren Verlauf, einen Ordner mit dem Name "OgreTutorial" zu erstellen und in diesem wiederum einen Ordner "OgreEinführung". In diesen Ordner werden dann die Projekte der einzelnen Teile gespeichert, jeweils in einen eigenen Ordner, dieser wird normalerweise von Visual Studio erstellt. Natürlich könnt ihr auch eine andere Struktur wählen, dann müsst ihr nachher einfach die Pfade in einer Configfile entsprechend eurer Ordnerstruktur anpassen. Nun muss noch der Ordner "media", welcher im Verzeichnis vom Ogre SDK zu finden ist, in unseren Ordern "OgreTutorial" kopiert werden. Dies ist notwendig, da wir nachher auf Texturen und Modelle in diesem Ordner zurückgreifen werden. Um überhaupt anfangen zu können braucht man wie bei jeder anderen Anwendung, die man in Visual Studio schreibt, ein Projekt. Für Ogre sollte man ein Konsolenprojekt erstellen und keine vorkompilierten Headerfiles benutzten, am besten einfach ein leeres Projekt erstellen. Ist das Projekt erst einmal erstellt, müssen noch ein paar Kleinigkeiten eingestellt werden, bevor man mit dem Entwickeln anfangen kann. Zuerst muss RTTI aktiviert werden. Dies geschieht, indem man die Projekteigenschaft öffnet, in der Menüleist auf "Projekt" und dann auf "Projektname- Eigenschaften"klickt. Ansch sollte sich das Eigenschaftsfenster des Projektes öffnen, dort kann man unter dem Punkt "Konfigurationseigenschaften" im Unterpunkt "C++" das Register "Language" öffnen. Dort gibt es einen Punkt mit dem Namen "Enable Run Time Type-Info", dieser muss auf "yes" gesetzt sein, damit Ogre funktioniert.

Desweiteren muss im gleichem Unterpunkt die Registerkarte "Code Generation" geöffnet und der Punkt "Runtime Libary" auf "Multi-thread Debug Dll" gestellt werden.

Der letzte Schritt ist nun im Unterpunkt "Linker" die Registerkarte "Input" zu öffnen und im Punkt "Additional Dependencies" OgreMain_d.lib einzutragen. Ist dies alles vollbracht können wir endlich anfangen den Code zu schreiben, natürlich nachdem wir eine.cpp Datei erstellt haben. Der erste Schritt zu unserer Ogre-Anwendung ist die benötigten Headerfiles einzubinden. Da es sich noch um eine sehr einfache Anwendung handelt brauchen wir nur zwei Header, Windows.h und ExampleApplication.h. Windows.h sollte bekannt sein, daher gehe ich gleich auf ExampleApplication.h ein. Normalerweise ist es etwas Arbeit, Ogre zum Laufen zu bringen. Man muss einige Klassen erstellen, Plugins laden etc. Damit Entwickler, die sich noch nicht so gut in Ogre auskennen, damit nicht auseinandersetzen müssen, wird ein kleines Framework mitgeliefert, das diese Aufgaben übernimmt. Später werden wir sehen, wie man auch ohne dieses Framework arbeiten kann. Aber für den Augenblick sind wir dankbar, das es existiert und benutzten es. Es ermöglicht uns gleich mit dem spannenden Teil loszulegen und nicht erst Alles initialisieren zu müssen. Hier nun endlich die ersten beiden Codezeilen #include <windows.h> #include <ExampleApplication.h> Nun kommt ExampleApplication.h zum Tragen. Wir erstellen eine neue Klasse CApp, die von der Klasse ExampleApplication erbt. Diese Klasse sorgt, wie oben schon erwähnt dafür, dass Ogre gestartet und alle nötigen Plugins, Ressourcen etc. geladen werden. Außerdem sorgt sie dafür das wir eine Kamera haben, auf Tastatureingaben reagieren können und noch einiges mehr. Und das Fantastische ist, dass ein Großteil ihrer Funktionen virtual ist, sodass wir sie überschreiben können falls wir das Verhalten unserer Anwendungen ändern wollen, dies werden wir später auch noch tun. Erst mal reicht es uns, die createscene()-funktion zu überschreiben, da diese pure virtual ist und somit überschrieben werden muss. Da wir noch keine Szene haben, die wir anzeigen wollen, bleibt diese Funktion erst mal leer. So sieht das ganze dann in Code aus.

//Unser Ogre Anwendung, erbt von ExampleApplication einige nützliche Funktionen class CApp : public ExampleApplication public: //ExampleApplication verlangt von uns diese Funktion zu überschreiben. //Im nächsten Abschnitt werden wir diese auch mit Leben füllen, jetzt bliebt sie erstmal leer void createscene() }; } Nachdem die Klasse für unsere Anwendung fertig ist, fehlt jetzt nur noch die Mainfunktion. Der erste Schritt in unserer Mainfunktion ist das Erstellen einer Instanz unserer Klasse. //Mainfunktion int main(void) //Instanz unserer Klasse erstellen CApp App; Danach müssen wir die go()-funktion unserer Klasse aufrufen. Diese Funktion kommt auch von ExampleApplication und sorgt dafür, das Ogre gestartet wird und die Szene nach unserer Beschreibung in der createscene()-funktion erstellt wird. Da bei diesem Vorgang einige Fehler auftreten können und in diesem Fall Ogre eine Exception ausgibt, sollte der Funktionsaufruf in einem try-block stattfinden. try App.go(); } Was jetzt noch fehlt ist der für den try-block zuständige catch-block, dieser wird nichts anderes machen, als die Fehlermeldung von Ogre entgegenzunehmen und in einer MessageBox auszugeben und das Programm mit dem Rückgabewert 1 (Fehler) zu beenden. catch (Ogre::Exception& e) MessageBoxA(NULL, e.getfulldescription().c_str(), "Ein Fehler ist aufgetreten", MB_OK ); return 1;//Es ist ein Fehler aufgetreten } Zu guter Letzt muss nur noch 0 zurückgegeben werden, wenn alles gut gegangen ist und die Mainfunktionen geschlossen werden. return 0;//Alles lief wie geplant }//Ende der Mainfunktion Jetzt Kompilieren und Starten wir das Programm, es sollte eine Fehlermeldung über das Fehlen von Dlls kommen. Um dieses Problem zu beheben, kopieren wir alle Dlls und alle Configfiles.cfg Files aus dem "Pfad zum OgreSDK/bin/debug" Ordner in unseren Projektordner. Hat man eine Ordnerstruktur wie oben beschrieben, ist keine weiter Arbeit mehr nötig, ansonsten muss man die Pfade in der "resources.cfg" entsprechend seiner Ordnerstruktur anpassen. Wenn man sich die Pfade in der "resources.cfg" anschaut, wird man feststellen, dass die oben beschriebene Ordnerstruktur genau so gewählt ist, dass keine Anpassungen mehr nötig sind. Sie müssen immer darauf achten, dass der Ordner "media" für unser Programm entsprechend der "resources.cfg"-file vorhanden ist,

sonst gibt Ogre eine Fehlermeldung aus, da es für Ogre dann nicht möglich ist die angegebenen Dateien zu laden. Anschließend kann das Programm gestartet werden. Zuerst wird sich die Konsole öffnen und einige Zeilen Text sollten erscheinen, dies kann man einfach ignorieren, da sich kurz danach ein Configfdialog öffnet, der etwa so aussehen sollte.

Ist alles so eingestellt, wie gewünscht, klickt man auf "OK" und es sollte sich dieses Fenster öffnen Verlassen kann man die Anwendung durch Drücken der Escapetaste. Zur Zeit ist noch alles schwarz, da unsere createscene()-funktion noch leer ist, das werden wir im nächsten Teil ändern. Ausblick Im nächsten Teil beschäftigen wir uns mit den Grundlagen eines Szenegraphen und lernen den Szenegraphen von Ogre kennen. Außerdem werden wir unser erste 3D Objekt laden und in der Szene platzieren, dazu noch skalieren und rotieren. Es bleibt also spannend.