-
Die vorliegende Erfindung bezieht
sich auf ein Graphiksystem für
Anwendungen der virtuellen Realität, wie beispielsweise immersive
Systeme (VR-Systeme).
-
Immersive Systeme (VR-Systeme) bilden eine
intuitive Mensch-Maschine-Schnittstelle für die verschiedensten Anwendungsbereiche.
Durch die maßstäbliche Darstellung
dreidimensionaler Daten und die ebenfalls dreidimensionale Interaktion
können
dreidimensionale Daten weitaus besser beurteilt und erlebt werden,
als es mit klassischen Visualisierungs- und Interaktionstechniken
(2D-Monitor und grafische Benutzungsoberfläche) möglich ist. Im Produkt-Entstehungsprozeß können damit
viele reale Modelle und Prototypen durch virtuelle Prototypen ersetzt
werden. Das gleiche gilt für
Planungsaufgaben im Architekturbereich.
-
Auch Funktionsprototypen lassen sich
in immersiven Umgebungen wesentlich realistischer evaluieren, als
es am Desktop möglich
ist.
-
Zentrales Element immersiver Systeme
ist die getrackte, stereoskopische Darstellung der dreidimensionalen
Daten. Die Perspektive der Darstellung ist dabei vom Betrachter-Standpunkt
bzw. von der Kopfposition abhängig,
Die Kopfposition wird dazu über
ein dreidimensionales Positionsmeßsystem kontinuierlich gemessen
und die Geometrie der Sichtvolumina für beide Augen entsprechend
dieser Positionswerte angepaßt.
Für jedes
Auge wird ein separates Bild aus der jeweiligen Perspektive berechnet;
der Unterschied (Disparität)
bewirkt die stereoskopische Tiefenwahrnehmung.
-
Die jeweils dargestellten Bilder
werden in Echtzeit berechnet. Im Hauptspeicher des bildgenerierenden
Systems befinden sich nur die dreidimensionalen Geometrieinformationen
und Attribute (Oberflächeneigenschaften,
Texturen). Typischerweise handelt es sich dabei um eine hierarchische
Datenstruktur, die als Szenegraph bezeichnet wird.
-
Als Ausgabegeräte kommen überwiegend stereoskopische
Projektionssysteme zum Einsatz; diese haben Head Mounted Displays
("Datenhelme") weitgehend abgelöst.
-
Stereoskopische Projektionssysteme
können
aus einer oder mehreren Projektionsflächen in unterschiedlichen Anordnungen
bestehen. Eine verbreitete Konfiguration ist die CAVE, eine würfelförmige Anordnung
von drei bis sechs Rückprojektionsflächen, die
die Benutzer umgeben. Zur Separation der beiden Augenbilder sind
bei Stereoprojektionssystemen zwei Verfahren gebräuchlich:
-
- – zeitsequentielle
Darstellung der beiden Augenbilder. Zur Trennung wird eine sogenannte
Shutterbrille verwendet, die synchron zum Videosignal jeweils ein
Auge abdunkelt. Für
diese, auch aktiv genannte Technik sind Röhrenprojektoren erforderlich;
stereofähige
DLP-Projektoren befinden sich im Prototypenstadium
- – gleichzeitige
Projektion der beiden Augenbilder und Trennung über optische Verfahren, meist
Polarisation. Für
die Projektionsflächen
müssen
geeignete, nicht depolarisierende Materialien verwendet werden.
Es werden jedoch keine speziellen Videosignale benötigt, und
mehrkanalige Systeme können
auch mit asynchronen Videosignalen betrieben werden.
-
Mittels geeigneter Eingabegeräte, deren
Position und Orientierung ebenfalls kontinuierlich gemessen werden,
können
Interaktionen mit den dargestellten Daten ausgeführt werden. Hierzu zählen zum
Beispiel das Greifen und Verschieben von Objekten und das Positionieren
von Lichtquellen.
-
Um einen hohen Immersions- und Interaktivitätsgrad zu
erreichen, sind zwei Hauptanforderungen zu erfüllen:
- – Framerate:
Die Frequenz, mit der neue Augenbilder generiert werden, sollte
nicht unter 12 Bilder/s liegen
- – Latenzzeit:
Die Zeitverzögerung
zwischen einer Benutzerinteraktion und deren Darstellung im Ausgabebild
sollte nicht größer als
200 ms sein.
-
Daraus folgen hohe Anforderungen
an die Rechenleistung des Computersystems, das die Graphikausgabe
erzeugt. Die eigentliche Graphikausgabe wird dabei nicht vom Hauptprozessor
generiert, sondern von speziellen Subsystemen mit einer der Aufgabe
angepaßten
Pipeline-Architektur.
-
Herkömmliche immersive Systeme haben aufgrund
der geringen Stückzahlen
der erforderlichen Spezial-Hardware
hohe Kosten. Dies war bisher einer der wesentlichen Gründe für die relativ
geringe Verbreitung von VR-Systemen.
-
Aus der WO 92/09947 ist ein System
bekannt, in dem ein hierarchischer Baum als Datenstruktur von einem
Steuerungs-Prozessor an eine Mehrzahl von weiteren Prozessoren als
Kopie übergeben
wird, wobei jeder der Prozessoren aus der übergebenen Baumstruktur eine
Ansicht erzeugt (rendert). Dabei kann der Steuerungsprozessor im laufenden
Betrieb des Systems berechnete Änderungen
am Baum, d.h. eine Menge von zuvor berechneten veränderten
Knoten des gesamten Baumes, an die weiteren Prozessoren weitergeben,
die im nächsten
Schritt die veränderte
Ansicht aus den aktualisierten Daten des Baumes erzeugen.
-
Aufgabe der vorliegenden Erfindung
ist es, ein Graphiksystem und ein Verfahren anzugeben, mit dem auf
kostengünstige
und einfache Weise effektiv eine Vielzahl von Ansichten dargestellt
werden können.
-
Diese Aufgabe wird durch das Graphiksystem
nach Anspruch 1 sowie das Verfahren nach Anspruch 10 gelöst. Vorteilhafte
Weiterbildung des erfindungsgemäßen Graphiksystems
und des erfindungsgemäßen Verfahrens
werden in den jeweiligen abhängigen
Ansprüchen
gegeben.
-
Als Ansichten sind dabei jeweils
einzelne Darstellungen des Szenegraphen zu verstehen, wie beispielsweise
die beiden verschiedenen Ansichten einer Stereoprojektion, d.h.
das linke Augenbild und das rechte Augenbild. Weiterhin können dies
Projektionen, die auf den einzelnen Rückprojektionsflächen einer
Cave dargestellt werden, sein. Dadurch ist es erforderlich, bei
einer Cave eine Vielzahl von Ansichten (Projektionsflächen-Darstellungen
sowie stereoskopische Einzelbilder) zu erzeugen.
-
Mit der vorliegenden Erfindung ist
es gelungen, ein vollfunktionales VR-System anzubieten, bei dem
einfache Computerkomponenten auf Standard-Hardware-Basis völlig zur
Erzeugung der Ansichten ausreichen. Dabei können alle Eigenschaften der
dem Stand der Technik entsprechenden Systeme wie
getrackte,
stereoskopische Darstellung auf einer oder mehreren Projektionsflächen oder
dreidimensionale
Interaktion unter Verwendung von 3D-Eingabegeräten
realisiert werden.
Zur Bilderzeugung können
dabei auch Standard-PC-Graphikkarten, beispielsweise mit 3D-Beschleunigung,
eingesetzt werden. Für
jedes Augenbild wird dabei eine eigene Graphikkarte in jedem separaten
Computer eingesetzt. Ein erfindungsgemäßes Verfahren, wie es in der
Unteransprüchen 3
bis 7 beschrieben ist, synchronisiert alle an der Bilderzeugung
beteiligten Einzelrechner für
die Bildausgabe.
-
Mit der vorliegenden Erfindung wurden
verschiedene Verbesserungen erzielt:
- – Kostenvorteil:
Bei bisherigen VR-Systemen bildete die Rechnerhardware mit Abstand
die größte Kostenposition.
Durch den Einsatz von Standardhardware können damit VR-Systeme zu einem Bruchteil
des bisherigen Systempreises realisiert werden. Damit wird die VIR-Technik
für völlig neue
Zielgruppen interessant und wird erheblich größere Verbreitung erreichen.
- – Skalierbarkeit:
Die Architektur der vorliegenden Erfindung ermöglicht den Aufbau auch sehr
großer
- – Cluster
zum Betrieb komplexer, mehrkanaliger Projektionsumgebungen (z.B.
CAVE's, Power Walls).
- – Zukunftssicherheit:
Durch die Möglichkeit,
jede beliebige PC-Hardware einzusetzen, entfällt die bisher gegebene Abhängigkeit
von einem bestimmten Hardware-Hersteller.
- – Nutzung
neuer Graphikhardware: Derzeit ist der technische Fortschritt im
PC-Graphikhardware-Bereich
mit Produktzyklen von 6 Monaten weitaus dynamischer als bei den
klassischen High End-Graphiksystemen.
Mit der vorhergehenden Erfindung kann diese Dynamik unmittelbar
genutzt werden.
- – Kompatibilität: Durch
Softwarekompatibilität
mit High End-Systemen können
Applikationen mit minimalem Aufwand von Personal Immersion- nach High
End-Systemen portiert
werden.
-
Entscheidender Gedanke der vorliegenden Erfindung
ist dabei, daß im
Unterschied zum Stand der Technik für jede Ansicht ein eigener
Computer vorgesehen wird. Dieser erzeugt jedoch nicht nur wie bei
der WO 92/09947 aus einem ihm übermittelten Szenegraphen
die Ansicht (Rendering) sondern berechnet sich aus den eingegebenen
und ihm übermittelten
Sensordaten eines Eingabesystems den Szenegraphen (bzw. die Änderungen
an diesem) selbst. Dadurch wird auf jedem Rechner der Szenegraphen extra
berechnet. Dies ist insbesondere vorteilhaft, da daher zwischen
den einzelnen Computern keine große Bandbreite zur Übertragung
von Szenegraphen-Daten wie im Stand der Technik erforderlich ist.
-
Eine vorteilhafte Ausführungsform
der Erfindung sieht vor, daß eine
Synchronisierungsvorrichtung zur Synchronisierung der Umschaltung
der Bildspeicher aller Computer zwischen Zuständen, in denen sie lesbar bzw.
beschreibbar sind, vorgesehen ist. Die Synchronisierungsvorrichtung
kann als ein Paar einzelner Signalleitungen ausgeführt sein,
beispielsweise als ein Leitungspaar einer parallelen Schnittstelle.
Es ist aber auch z.B. möglich,
die Synchronisationsvorrichtung als serielles Bussystem auszuführen.
-
Eine weitere vorteilhafte Ausführungsform sieht
vor, daß die
Ausgabevorrichtung bzw. das Ausgabesystem eine beliebige Anordnung
von 1 bis n (n beliebig ≥ 2)
Projektionsflächen
für jeweils
eine oder mehrere Ansichten aufweist. Dies können vorzugsweise Rück- aber
auch Aufprojektionsflächen
sein. Möglich
sind würfelförmige Anordnungen
von drei bis sechs zueinander zugewandten Rückprojektionsflächen für jeweils
eine oder mehrere Ansichten. Es sind aber auch andere Winkel zwischen
den Projektionsflächen,
etwa 45°-Winkel,
möglich.
-
Im folgenden werden verschiedene
Beispiele der vorliegenden Erfindung dargestellt werden.
-
1 zeigt
eine Simulationsschleife eines VR-Systems;
-
2 eine
Simulationsschleife mit parallelem Rendering;
-
3 eine
Simulationsschleife mit Replikation der Applikation;
-
4 ein
Zweitdiagramm für
mehrere Hosts;
-
5 ein
Schaltschema der Swap-Synchronisation;
-
6 die
Konfiguration für
ein einkanaliges System;
-
7 die
Konfiguration für
ein dreikanaliges System mit Datenhalterung auf dem Master; und
-
8 die
Konfiguration mit mehreren Slaves und dediziertem File Server.
-
Hier wie im folgenden wird für entsprechende Elemente
in den verschiedenen Figuren jeweils ein entsprechendes Bezugszeichen
verwendet.
-
1 zeigt
die Simulationsschleife eines VR-Systems,
wie sie typischerweise zur Laufzeit abgearbeitet wird. In einem
ersten Schritt 1 werden Sensordaten wie beispielsweise die Position
des Kopfes des Betrachters und Sensordaten aus Eingabegeräten, bzw.
Events von Eingabegeräten
in einen Computer eingelesen. Anschließend erfolgt die Simulation/Applikation
des Szenegraphen, d.h. die Semantik der Applikation als Funktion
der Sensordaten mit Änderungen
am Szenegraphen, wie beispielsweise Position und Sichtbarkeit visueller
Objekte. Schritt 3 betrifft das Rendering des Szenegraphens, d.h.
die Bestimmung der aus aktueller Kameraposition sichtbaren Teile
des Szenegraphen und Erzeugung einer Ansicht mit Ausgabe dieser
Ansicht an eine Graphik-Hardware. In dem letzten Schritt 4 wird
mit einem Buffer-Swap, das in Schritt 3 erzeugte Bild/Ansicht dargestellt.
-
Werden mehrere verschiedene Ansichten benötigt, sind
mehrere Durchläufe
von Schritt 3 erforderlich. Beispiele hierfür sind:
- stereoskopische
Darstellung (separate Ansicht für linkes/rechtes
Auge)
- – Mehrwand-Projektionssysteme
-
Da der Rendering-Schritt typischerweise
die meiste Rechenzeit erfordert, ist es sinnvoll, diesen zu parallelisieren,
wie in folgender Abbildung dargestellt:
Zur n-fachen Parallelisierung
des Renderings sind n Graphiksubsysteme (Graphikkarten) erforderlich,
da innerhalb eines Graphiksubsystems keine anwendungsabhängige Parallelisierung
möglich
ist. Zudem wird in der Regel ein separater Prozessor (CPU) pro Graphiksubsystem
benötigt,
weil nur so deren kontinuierliche Auslastung sichergestellt werden
kann.
-
Diese n Graphiksubsysteme können sich
in einem einzelnen Host mit mehreren Prozessoren und einem gemeinsamen,
breitbandigen Systembus befinden. Dies ist die Architektur klassischer
Multipipe-Graphikworkstations).
-
Eine derartige Konfiguration nach
dem Stand der Technik ist in 2 dargestellt,
wo einzelne Ansichten 1, 2 und 3 in Rendering-Schritten 3, 3', 3'' auf verteilten Computern durchgeführt werden,
während die
Schritte 1, 2 und 4 weiterhin gemeinsam auf einem Prozessor ablaufen.
-
Diese herkömmliche Konfiguration ermöglicht nicht,
Standard-Personal-Computer zu verwenden, denn gegenüber klassischen
Graphikworkstations hat die Standard PC-Architektur einige Einschränkungen,
die beim Design eines PC-basierten Echtzeitgraphiksystems zu be rücksichtigen
sind:
- – begrenzte
Multiprozessorunterstützung: PC-Mainboards mit mehr
als zwei Prozessoren sind selten und kostspielig.
- – begrenzte
interne Bandbreiten, insbesondere Busbandbreiten. Die Schnittstelle, über die
die Graphikkarte angesteuert wird, ist der AGP (Accelerated Graphics
Port). Es werden zwar auch noch Graphikkarten mit PCI-Bus angeboten;
dessen maximale Bandbreite von 132 Mbyte/s bei 32 Bit Busbreite
und 33 Mhz Takt reicht jedoch nicht aus, um aktuelle 3D-Graphikchips
mit vollem Durchsatz zu betreiben. Der AGP ist jedoch je PCI-Bus
nur einmal vorhanden, weshalb sich Systeme mit mehreren AGP nur
mittels mehrerer PCI-Busse
realisieren lassen. Systeme mit mehreren PCI-Bussen existieren zwar,
sind aber für den
Servereinsatz gedacht und haben daher n der Regel überhaupt
keinen AGP.
- – Begrenzte
Flexibilität
der von der Graphikkarte erzeugten Videosignale. Die meisten PC-Graphikkarten können kein
Shutter-Stereosignal erzeugen. Außerdem ist in der Regel keine
Synchronisation der Videosignale mehrerer Graphikkarten vorgesehen.
-
Hier setzt nun die vorliegende Erfindung
ein, bei der eine Verteilung der einzelnen Graphikkanäle auf mehrere
synchronisierte Einzelrechner (Hosts) erfolgt. Hierzu eignet sich
weiterhin eine passive Stereoprojektionstechnik, da diese mit beliebigen
Videosignalen realisiert werden kann. Bei Verfügbarkeit von PC-Graphikkarten, die
auch Videosignale für
aktive Ste reoprojektionstechnik erzeugen können, können diese jedoch auch eingesetzt
werden.
-
Wenn, wie im Stand der Technik (das
Rendering auf der Ebene kompletter Ansichten parallelisiert werden
soll, ist auf jeden Fall die Replikation des kompletten Szenegraphen
auf allen Hosts erforderlich, die ein Bild generieren sollen, da
ja potentiell in jeder Ansicht der gesamte Szenegraph sichtbar sein kann.
Damit scheidet eine nur teilweise Replikation des Szenegraphen von
vornherein aus.
-
Eine Folge dieser vollständigen Replikation ist
es, daß vor
dem eigentlichen Rendering sämtliche Änderungen
am Szenegraphen, also beispielsweise Änderungen der Position oder
Sichtbarkeit visueller Objekte, an alle Hosts im Cluster zu propagieren sind.
Insbesondere bei veränderlichen
Geometrien kann damit der Transfer großer Datenmengen verbunden sein.
Beispiel: Ein geometrisches Objekt bestehe aus 100000 Eckpunkten
(Vertices); es wird durch eine numerische Simulation in jedem Frame komplett
verformt. Geht man von einer Single-Precision-Fließkommadarstellung
aus, sind also pro Eckpunkt 6 Bytes (Koordinaten plus Normalenvektor)
zu übertragen,
insgesamt also 600 KByte. Bei einer angestrebten Framerate von 20
Bildern/s sind das 12 MByte pro Sekunde.
-
Wenn das herkömmliche System ohne spezielle
Netzwerkhardware, z.B. Myrinet oder SCI, auskommen soll, ist beim
derzeitigen Stand der Technik (100 MBit Ethernet) in der Praxis
eine Kommunikationsbandbreite von nicht mehr als 8 MByte/s verfügbar. Eine Übertragung
der kompletten Szenegraphen-Updates über das Netzwerk kommt damit
für viele
Anwendungsfälle
nicht in Frage.
-
Die in der hier beschriebenen Erfindung
gefundene Lösung
für dies
Problem ist die Replikation nicht nur des Szenegraphen, sondern
auch der kompletten Applikation.
-
3 zeigt
ein erfindungsgemäßes System, bei
dem die Simulation/Applikation ebenfalls vollständig parallelisiert in den
einzelnen Hostrechnern erfolgt. Die Sensordaten werden jedoch nur
von einem einzigen Host in einem Schritt 1 akquiriert, beispielsweise über serielle
Schnittstellen, und über
die Netzwerkverbindung an die anderen Hosts (Slave 1...Slave n)
verteilt. Der Sensordaten akquirierende Host wird daher als Master
bezeichnet. Auf dem Master läuft
ebenfalls die komplette Applikation (Schritt 2) und das Rendering
(Schritt 3) einer Ansicht. Dies ist ohne weiteres möglich, da
der Rechenzeit- und Bandbreitenbedarf für die Akquisition der Sensordaten
gegenüber
den anderen Aufgaben vernachlässigbar
ist.
-
Die Anforderungen an die Kommunikationsbandbreite
sind damit unabhängig
von den erforderlichen Szenegraphen-Updates. Insbesondere bei Anwendungen
mit sehr umfangreichen Per-Frame-Updates wird damit eine Reduktion
der benötigten Bandbreite
um mehrere Größenordnungen
erreicht. Hinzu kommt, daß das
Kommunikationsprotokoll sehr einfach gehalten werden kann.
-
Für
eine typische VR-Anwendung mit Tracking des Kopfes, zweier Hände sowie
8 Buttons ergibt sich pro Frame eine zu übertragende Datenmenge von
lediglich 80 Byte.
-
Bei der Darstellung von Echtzeitgraphik
ist es wichtig, daß das
Bild während
des Erzeugens, also des Zeichnens der Bildbestandteile, für den Betrachter nicht
sichtbar ist. Das hierfür
gebräuchliche Verfahren
ist das sogenannte Doublebuffering, bei dem im Videospeicher der
Graphikkarte Speicherplatz zur Bufferung zweier kompletter Bilder
vorgesehen ist. Diese beiden Buffer werden als Front- und Backbuffer
bezeichnet. Der Frontbuffer ist der sichtbare, während in den Backbuffer gezeichnet
wird. Wenn das neue Bild vollständig
gezeichnet ist, wird zwischen Front- und Backbuffer umgeschaltet
(Buffer-Swap).
-
Dieses Umschalten muß auf allen
Graphikkanälen
synchron erfolgen; zeitliche Verschiebungen zwischen den Buffer-Swaps
werden vom Betrachter deutlich wahrgenommen. Insbesondere in einem passiven
stereoskopischen System mit einem Rechner für jedes Auge führen zeitliche
Verschiebungen zu einem veränderten
Stereoeindruck. Verschiebungen innerhalb der Simulationsschleifen
der einzelnen Hosts werden dagegen vom Betrachter nicht wahrgenommen.
-
4 gibt
eine Darstellung der zeitlichen Verhältnisse für das Umschalten der Graphikkanäle. In einem
Schritt 1 werden die Sensordaten durch den Master akquiriert und
in Schritten 1',
1'' (b, b) an die Slave
Host 1 und Slave Host n übertragen. Die Simulation (Schritt
2) des Szenegraphen erfolgt damit, um die Übertragungszeit versetzt zwischen
dem Master und den Slave-Rechnern. Dasselbe gilt für den Rendering-Schritt 3, so daß die einzelnen
Computer mit dem Rendering zu verschiedenen Zeitpunkten fertig sind.
Daher erfolgt nun eine Synchronisation des Buffer-Swap über die
Leitungen bzw. Signale 5, die gesetzt werden, wenn ein
Computer mit dem Rendering fertig ist. Sind alle Computer mit dem
Rendering fertig, so erfolgt der Swap und anschließend die
Darstellung in einem Schritt 6 der einzelnen Ansichten nahezu gleichzeitig.
Für die
Synchronisation des Buffer-Swap ist ein möglichst leichtgewichtiger Mechanismus
zu verwenden und daß die
Synchronisation hat möglichst
nah an der Ausführung
des eigentlichen Swap durch die Graphikhardware zu erfolgen, im
Idealfall also integriert in den Graphikkarten-Treiber. Wo dieser
nicht im Quellcode zugänglich
ist, kann die Synchronisation auch anwendungsseitig unmittelbar
vor dem Funktionsaufruf erfolgen, der den Buffer-Swap auslöst.
-
Weiterhin wird aus 4 ersichtlich, daß die zur Übermittlung der Sensordaten
benötigte
Zeit die gesamte Framezeit entsprechend verlängert, da bei den Slaves der
Simulationsschritt erst nach dem Empfang der Sensordaten beginnen
kann. Insbesondere bei hohen Frameraten kann dieser Zeitanteil signifikant
werden. Es sollte daher eine möglichst schnelle
Netzwerkverbindung zwischen Master und Slaves vorgesehen werden.
-
Die Übermittlung der Sensordaten
kann beispielsweise über
ein verbindungsloses UDP (User Datagram Protocol) erfolgen. In einer
typischen Konfiguration können
alle pro Frame erforderlichen Sensordaten in einem Ethernet-Paket
(maximale Größe 1500
Bytes) und damit in einem einzigen Datagramm übermittelt werden.
-
Da die Sensordaten für alle Slaves
gleich sind, können
diese mittels Multicast übermittelt
werden, wodurch das Senden eines separaten Datenpaketes pro Slave
vermieden werden kann.
-
Zur Buffer Swap-Synchronisation werden beispielsweise
die Data Terminal Ready (DTR) / Data Set Ready (DSR)-Handshake-Leitungen
der RS 232-Schnittstelle verwendet. Der in den meisten PC's zu findende UART-Baustein 16550 bildet
nicht nur den Status dieser Lei tungen in einem Register ab, sondern
kann auch einen Interrupt bei Zustandswechsel der Eingangsleitung
initiieren. Dadurch kann ein Polling der Eingangsleitung und damit
geschäftiges
Warten auf den DrawDone-Status
vermieden werden.
-
Für
ein System mit nur einem Slave können die
CTS/RTS-Leitungen beider Systeme gekreuzt miteinander verbunden
werden.
-
Dies ist in 5A dargestellt, wo ein Master 10 mit
einem Slave 11 über
gekreuzte DTRDSR-Leitungen verbunden ist. In 5B sind insgesamt n-Slave-Rechner mit 11 bis 11''' mit
einem Master-Rechner 10 über eine Bundverknüpfung 12 verbunden.
Diese verknüpft
alle Ausgänge
DTR in entsprechender Weise wie in 5B gezeigt.
-
6 zeigt
nun die Konfiguration eines einkanaligen, stereoskopischen Systems
mit passiver Projektionstechnik, bei dem ein Master 10 und
einer Master 11 für
die Übertragung
der Sensordaten miteinander über
ein Fast Ethernet 15 und zur Swap-Synchronisation über eine
RS232-Schnittstelle 16 verbunden sind. Ein Positionsmeßsystem 13 und ein
Interaktionsgerät 14 geben über serielle
Schnittstellen 19, 19' ihre Sensordaten an den Master 10,
in dem auch die Datenhaltungen erfolgt. Der Slaverechner 11 greift
nun über
die Netzwerkverbindung 15 auf diese Daten zu. Dies betrifft
sowohl die Applikationsdaten (Geometrien, Texturen) als auch den
ausführbaren
Programmcode. Beide Rechner 10 und 11 führen dann
die Simulation des Szenegraphen und das Rendering ihrer jeweiligen
Ansicht durch. Der Master 10 erzeugt dabei das Links-Augenbild für einen
Projektor 17 und der Slave 11 das Rechts-Augenbild
für einen
Projektor 18 für
eine ste roskopische Darstellung.
-
7 zeigt
ein Beispiel mit einem mehrkanaligen System mit mehr als zwei Hosts.
In diesem Falle gibt einen dedetierten Master 10, der die
Daten der Eingabegeräte 13, 14 über serielle
Schnittstellen 19, 19' akquiriert. Weiterhin ist er über ein
Fast Ethernet 15 mit den Slaves 11 bis 11'''' verbunden.
Zur Swap-Synchronisation
erfolgt eine Umverknüpfung aller
Vordan-Ausgänge über die
Verbindungsleitungen 16. Mit den hier vorgesehenen sechs
Rechnern 10, 11 bis 11'''' können insgesamt drei Bilder
mit Links-Augen- und
Rechts-Augenbild dargestellt werden, also insgesamt sechs Ansichten.
Diese werden über
die Projektoren 17 bis 17'' für die Links-Augenbilder
und die Projektoren 18 bis 18'' für die Rechts-Augenbilder
dargestellt, wobei jeder Projektor mit einem Rechner 10, 11 bis 11'''' verbunden ist.
-
Die vollständige Replikation des Szenegraphen
auf allen Slaves erfordert bei zentraler Datenhaltung die Übermittlung
sämtlicher
Daten an alle Slaves, und zwar beim Start der Applikation und zur Laufzeit,
wenn Daten nachgeladen werden müssen.
-
Die Bandbreite eines einzigen Netzwerkstranges
kann bei einer größeren Anzahl
von Slaves zu gering sein, um bei zentraler Datenhaltung auf dem
Master noch akzeptable Ladezeiten realisieren zu können. Zwei
Möglichkeiten
bestehen zur Lösung dieses
Problems:
- – Lokale
Replikation der Daten auf allen Slaves. In diesem Fall muß mittels
zusätzlicher
Softwareverfahren die Konsistenz dieser Daten auf allen Slaves sichergestellt
werden.
- – Verwendung
eines dedizierten Servers zur zentralen Datenhaltung. Dieser Server
wird mit breitbandigem Massenspeicher und mehreren Netzwerkports
ausgerüstet,
von denen jeder nur eine bestimmte Anzahl Slaves bedient. 8 zeigt eine Beispielkonfiguration
für ein
dreikanaliges Projektionssystern mit einem zentralen Server 20 zur
Datenhaltung. Die zentralen Daten- und Applikationsverzeichnisse
liegen nun nicht mehr auf dem Master 10, sondern auf dem
zentralen Fileserver 20. Im hier dargestellten Idealfall
steht für jeden
PC 10, 11 bis 11''''im VR-Cluster ein eigener Netzwerkport zur
Verfügung.
Mischkonfigurationen mit jeweils einem Port für zwei oder mehrere PC's sind ebenfalls
möglich.
-
Alternativ können die Geometrie- und Texturdaten,
die die größte Datenmenge
ausmachen, auch lokal auf jedem Slave gehalten werden, In diesem Fall
ist allerdings durch geeignete Verwaltungsmechanismen die Konsistenz
dieser Daten sicherzustellen. Dies kann im einfachsten Fall durch
eine auf dem Master laufende Software erfolgen, über die alle Applikationsdaten
zentral auf alle Slaves kopiert werden.