|
distributed computing in ET/MET++
World-3d-Editor
Im Winter 1995/96 gab es an der Universität Zürich ein Seminar
in Multimediatechnik, bei welchem die Teilnehmer eigene Themenvorschläge
unterbreiten konnten. Zusammen mit drei Freunden entschieden wir, eine
dreidimensionale, virtuelle Welt zu implementieren, in welcher verschiedene
Benutzer in Echtzeit mit Objekten und der Welt interagieren konnten. Die
Applikation basiert auf dem Framework MET++.
Wir implementierten die benötigte Middleware, Serialisierung
der verschiedenen Objekte, Kollisionsabfrage-Algorithmen der
dreidimensionalen Welt und einen Server, der die Kommunikation der verschiedenen
Benutzern (talk server) und die der Objekte (graphics server)
steuert. Die Hauptaufgaben wurden wiefolgt verteilt:
- Martin Zimmermann - Kollisionsabfragen
- Oliver C. Hoeffleur - Graphische Benutzeroberfläche
- Andreas Kruthoff - Talk Server
- Martin Dudle - Graphics Server und Kommunikationsprotokolle
|
Das World 3D Team:
Martin Zimmermann, Oliver Hoeffleur, Andreas Kruthoff and Martin Dudle (von links nach rechts).
|
dist++
Dies ist meine Semesterarbeit im Jahr 1997. Die Arbeit stellt Klassen
und Methoden vor, welche es erlauben, auf einfache Art und Weise
verteilte MET++ Applikationen zu implementieren. Enthalten ist auch
eine Bibliothek namens dist++, welche atomares, total geordnetes
Multicast-Messaging implementiert. Aufgrund der nur begrenzt zur
Verfügung stehenden Zeit wurde der multicast Layer nur durch
einzelne TCP Verbindungen simuliert. Diese Schicht kann jedoch
ohne grossen Aufwand ausgetauscht werden.
Heutzutage ist diese Technik selbstverständlich vollkommen
veraltet. Es ist aber dennoch interessant zu sehen, wie damals
ohne Messagingsysteme (wie JMS zum Beispiel) vorgegangen wurde.
Damals hatten wir sogar Anfragen von zwei Universitäten aus
Deutschland und Österreich, welche an einer Weiterentwicklung
sehr interessiert waren. Allerdings hätte dies den Rahmen
der Semesterarbeit gesprengt.
ded
Basierend auf der dist++ Bibliothek hat Andreas Kruthoff eine Applikation
geschrieben: einen dreidimensionalen Editor, welcher mehreren, unabhängigen
Benutzer den gleichzeitigen Zugriff und das Bearbeiten des gleichen
Raumes ermöglicht. Ereignisse und Zustandsänderungen erfolgen
in Echtzeit, so dass jeder Benutzer die Aktionen der anderen mitverfolgen
kann.
downloads
3dserver.tar.gz (3d server source tree)
50132 bytes md5: 7b8d9c71a5b2829c58297bca583a05be
3dclient.tar.gz (3d client source tree)
33151 bytes md5: 4564ff6a664afda97a179e89840f73f0
dist++.tar.gz (dist++ source tree)
20485 bytes md5: fd934cce665b874d56294e04ae1e5691
ded.tar.gz (ded source tree)
16254 bytes md5: 407fd873995b6d37c3898356af1ffff0
|
|