Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:49

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Mehrere Bildschirme ansteuern.
BeitragVerfasst: Mo Feb 06, 2006 13:30 
Offline
DGL Member

Registriert: Mo Feb 06, 2006 13:17
Beiträge: 3
Hi,

ich muss eine recht einfache OpenGL Labyrinth Umgebung entwerfen. Allerdings soll diese Umgebung auf sechs Bildschirmen gleichzeitig zu sehen sein. Die sechs Bildschirme sind um den Betrachter im Sechseck aufgestellt und gesteuert wird das ganze durch zwei Rechner mit Quad Grafikkarten (jeder Rechner steuert dann drei Bildschirme an). Das Bild auf den Bildschirmen wird dem Betrachter sozusagen eine Rundumsicht um sich herum ermöglichen. Die Frage ist nun, ob und wie ich die einzelnen Ports der Grafikkarte ansteuern kann und ob das unter OpenGL überhaupt möglich ist. Gibt es ein Tutorial?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 06, 2006 14:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also Informationen wirst du darüber wohl nicht finden. Ich habe da auch schon häufig gesucht und so gut wie nichts sinnvolles gefunden. Es ist dann immer mehr oder weniger ein selber testen geworden. Als erstes solltest du bedenken, dass ein und der selbe RC nicht auf 2 unterschiedlichen Grafikkarten funktioniert. Das ist technisch nicht drin. Was aber geht ist wenn es 2 Monitore an ein und die selbe Karte sind. Dann handelt das die Karte intern alles. Da du aber sowieso 2 Unterschiedliche Rechner hast spielt das keine große Rolle.

Code:
  1.   Screen.MonitorCount
  2.   Screen.Monitors

Damit solltest du abfragen können was für Monitore im System eingebaut sind und wo sie sich befinden. Wie genau. Keine Ahnung. Habe ich bisher noch nicht gebraucht. Evtl musst du aber noch eine Zuweisung der Ansichten mit den Monitoren einbauen.

Es ist glaube ich das Beste wenn du auf jedem Monitor ein Vollbildfenster erstellst dabei aber nicht die Auflösung des Monitors veränderst. Das führt zu komischen Verschiebungen der anderen Monitore. Du erhältst dann also 3 RCs. Mit WglShareLists kannst dafür sorgen, dass alle 3 RCs sich ein und die selben Texturen und Listen teilen. Wenn du jetzt renderst musst du deine Szene 3 Mal rendern. Und zwar für jede Ansicht einmal. Ob du die jetzt am Besten in 3 Threads renderst oder wie auch immer weiß ich nicht. Du müsstest dabei vor allem drauf achten, dass du mit gluPerspective deine Ansichten so einstellst, dass diese eigentlich nur einen entsprechenden Ausschnitt darstellen.

Evtl wäre es auch möglich ein riesen Fenster zu machen und bei gluPerspektive einen Wert anzugeben, der aussagt, dass du gerne ein muchos breites Bild haben willst. Ich denke nicht, dass du das alleine mit der Breite regeln kannst. Und dann wird wahrscheinlich der Viewport zu groß werden.

Die Sache mit dem 2ten PC ist natürlich auch so ein Ding. Würde da mal behaupten, dass das Sinnvollste wäre, wenn du eine Renderapplication hast und die von einem Server gefüttert wird. Und der Server würde alle Statusinformationen an den Clienten übertragen um so sicherzustellen, dass alle das gleich Bild haben.

Das sind mehr oder weniger Theorien von mir. Habe so etwas bisher auch noch nicht gemacht. Hatte nur schön öfters mal mit 2 Monitoren / Grafikkarten zu tun. Was man aber nicht so wirklich vergleichen kann.

PS: Das eigentliche Rendern ist bei alle dem wohl das geringst Problem.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 06, 2006 15:25 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Ich bin mir nicht sicher, aber ich hab mal gehört, dass OGL im Gegensatz zu DirectX Probleme mit mehreren Monitoren hat. Allerdings war das in Bezug auf "normale" Grakas, wo du in 90% der Fälle eh nur einen Monitor dran hast, und dann vllt hin und wieder mal nen 2. Monitor oder nen Fernseher anschließt. Wie das jetzt mit deinen Grakas aussieht weiß ich nicht.

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 08, 2006 12:09 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab mich auch schon mit dem Thema beschäftigt.
Die Grafikkartentreiber bieten dir an wieviele Monitore, welcher an welcher stelle und wie sie behandelt werden sollen (clon screen,splitscreen horizontal/vertical).
In deinem Fall müssen die 3 monitore in horiziontalen splitscreen in passender nummerierung eingestellt werden.
Nun musst du deine application der auflösung entsprechend anpassen also bei 1024x768 je bildschirm wäre es (3x1024)x768=3072x768 Auflösung.
Nun solltest du bei der Perspectiven einstellung halt 180° einstellen.
Das der 2.PC das gleiche zeigt wie der erste nur halt die anderen 180° ist meiner meinung am besten über eine netzwerkschnittstelle lösbar.
Meine variante würde so aussehen ein server und ein clientprogramm.
Der server gibt nur den startschuss und die syncronisierung die clients machen die renderarbeit.
Wenn man es sich mal kurz durch den kopf gehen lässt ist das wie HLTV.

[EDIT]
Also probleme mit Splitscreen kenne ich nicht, vieleicht in ersten versuchen 2 und mehr ausgänge für bildschirm zu nutzen.
Ich hab z.B. ein Samsung 26" LCD TV über DVI anschluss und mein 17"TFT in splittscreen geschalten und keine probleme gehabt.
Der monitor hatte 1280x1024 und der TV hatte ne auflösung von 13xx x 11xx aber für ein opengl context musste ich dann auf 1280x1024 für beide einstellen.
Quake3 macht dann richtig spaß ^^.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 08, 2006 18:33 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
An nem 26" LCD zocken? Ich will auch... Die Welt is unfair :cry:

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 09, 2006 13:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Tja die Hauptstädtler können sich sowas leisten ;)

26 Zoll is schonmal ne Hausnummer. Haste damit schonmal Doom gezockt, oder is er dafür zu langsam?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Zuletzt geändert von Flash am Do Feb 09, 2006 23:01, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 09, 2006 14:17 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
26"... ich will endlich mein TV-Out Kabel... *schwelg*

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 10, 2006 19:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 17, 2005 13:19
Beiträge: 98
Wohnort: Jahnsdorf
Für die Ansteuerung verweise ich dich mal auf das DSS von Omorphia. Bis dieses aber in einer überholten Version fertiggestellt ist, solltest Du mal einen Blick auf die OIncMonitors.pas werfen ;-)

Eine überarbeitete Version ist bereits in Arbeit, da das alte System bei uns nicht ausgereicht hat, um alle Informationen nach außen zu reichen bzw. vernünftig zu verwalten. Eine entsprechende Bildschirmsteuerung für Multimonitor-Arbeit ist aber vorhanden, genauso die Funktionen um Multimonitor die Auflösungen einzustellen und Koordinaten umrechnen zu können. Danach einfach auf jedem Monitor ein Fenster anlegen und den Kontext erzeugen und es sollte funzen.

_________________
Administrator of Project Omorphia
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]