= Semesterarbeit: Wissenschaftlicher Kontext = Diese Seite ist eine Zusammenstellung des "Wissenschaftlichen Kontextes" einer Orxonox PPS Semesterarbeit. == Open Source Arbeitesumgebung == * Programmierung einer Projektwebseite fuer Orxonox in HTML/PHP * Einfuehrung und Benutzung eines WIKIs mit Dokumentation fuer alle Entwickler * Verwendung des Projektmanagement tools: SVN * Konsequente Dokumentation des source codes mittels Doxygen == Programmiertechnische Umgebung == * Erlernen der zugrundeliegenden Libraries: SDL, OpenGL, OpenGL Extensions, Graphics Shader Language, STL, OpenAL, FFmpeg * Objektorientiertes Programmieren mit Modellierung durch UML class/sequence graphs * Advanced C++ Programmierung (inkl. Templates und Makros) == Projektmanagement == * Leitung eines open source Projektes ueber 2 Jahre * Organisation von Informationsevents zu Orxonox (Conventions) * Motivation von Mitprogrammierern * Projektplanug und Codedesign == PPS Kursleitung == * Erstellung eines Orxonox Kurses fuer Studenten des D-ITET * Erstellung von Kursunterlagen * Fuehrung und Unterstuetzung der Studenten == Programmatisch adressierte Probleme == * Object-Object Collision Detection Algorithm: OBB (Object aligned Bounding Boxes) * Spatial Terrain Separation Algorithm: Quadtree von beliebigen Vertex soups * Loading Framework: Objekte koennen mittels XML files erstellt/geladen werden: laden von Spielwelten * Dynamisches Laden: Objekte mittels shared library und Factory erzeugen und verwenden * Dynamische Resource Allocation von Models, Texturen, Sounds und anderen Resourcen ueber einen Resource Manager * Grafisches: Laden von verschiedenen Modelarten (MD2, OBJ), Particle Systems mit Billboarding, Fog Effects, Billboards * Sound: Implementierung einer 3D-SoundEngine zur Verwaltung von Channels, Buffers und Sourcen == Moegliche Arbeiten fuer Semesterarbeit == * Artificial Intelligence von NPCs * Object-ConcaveBody Collision Detection * Design und Implementierung einer Qt und OpenGL Graphical User Interface Library fuer Orxonox (GUI) * Design und Implementierung eines Scripting Interfaces (evt. Suche nach einem identischen Open Source Projekt) * Erweiterung des Network Moduls von Orxonox: HTTP/Telnet status Interface