[[TracNav(TracNav/TOC_PPSHS07)]] = Semesterarbeit: Wissenschaftlicher Kontext = Diese Seite ist eine Zusammenstellung des "Wissenschaftlichen Kontextes" einer Orxonox PPS Semesterarbeit. == Open Source Arbeitsumgebung == * Programmierung einer Projektwebseite fuer Orxonox in HTML/PHP * Einfuehrung und Benutzung eines Wiki fuer alle Entwickler * Verwendung des Projektmanagement Tools: SVN/Subversion (ein Versionsserver) * 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 * Vorbereitung der Arbeiten und Hilfe bei Problemen == Programmiertechnisch 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; gebraucht zum 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), Partikel System mit Billboarding, Fog Effects * 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) * Erweiterung des Network Moduls von Orxonox: HTTP/Telnet status Interface