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

Aktuelle Zeit: Do Jul 10, 2025 03:01

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 4 opengl bildschirme
BeitragVerfasst: Fr Aug 25, 2006 22:08 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
also folgendes will ich machen (so im sinne von 3ds max oder hier der spieleditor von ZornGL, sascha willems):

Bild

weiss jemand wie das gescheit initialisierbar ist mit den 4 bildschirmen. Hierfür werde ich sehr warscheinlich mit standartdelphi fahren und nicht mit sdl...

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 25, 2006 23:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Du wolltest wohl 4 "Viewports" sagen, nicht vier Bildschirme. Dache beim Lesen des Titels schon an Multi-Monitor-Support. Aber zum Thema : In meinem Editor (damals, iss ja schon lang her) war nur die 3D-Ansicht ein OpenGL-Fenster, die anderen einfache GDI-Fenster. Kann man heute getrost genauso machen, dann ber besser mit GDI+.

Wenns jedoch 4 OpenGL-Viewports sind unterscheidet sich nichts von ner Anwendung mit einem Fenster, sprich man erstellt für jedes Fenster (sind ja MDI-Childs) einen eigenen RC und rendert die nacheinander durch. Allerdings sind RC-wechsel recht aufwendig und man muss etwaige Ressourcen die man in mehreren RCs zeigen will sharen (wglShareLists). Besser ists dann wie z.B. bei 3DMax, wo es nur ein Windowsfenster gibt und dann alle 4 Ansichten in dieses Fenster gerendert und mit glScissor geschnitten werden. Gibts aber mit Sicherheit schon einige Threads zu diesem Thema hier auf DGL.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 26, 2006 00:07 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
also wäre es das beste einfach einen rendercontext zu haben und dann die fenster einzeln zu rendern? ist zwar auch ein bisschen nervig, wegen den ganzen abgrenzungen, aber sollte grundsätzlich gehen.

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 26, 2006 00:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, und für die Abgrenzung gibts ja wie ich oben bereits gesagt hab glScissor (natürlich zusammen mit glViewport).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 26, 2006 08:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
stichwort gdi und gdi+, wo ist da überhaupt der unterschied und vor allem, wie kann man in delphi umstellen ob man nun das eine oder das andere nutzen will ? oder wird automatisch wenn windows gdi+ unterstützt das genommen von der winAPI ?

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 26, 2006 12:39 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Du solltest dir mal Blender ansehen.
Blender hat ein Context, der über das ganze Fenster geht.
Eine Klassenstruktur gibt dann an, wie oft das Bild geteilt wurde, welche Ausmaße es hat und eigene Ansichtsdaten(Wireframe, Kamerapos,...). Damit kannst du dir viel Arbeit ersparen, da du keine extra 2d Funktionsliste für nicht 3D fenster brauchst.

Kleiner Tipp am Rande, wenn es ein eigener Editor wird, dann solltest du ein CodeBlock implementieren der es erlaubt ein Fenster in Engine Modus zu schalten. So kannst du dann immer deine aktuelle Engine nutzen um dir das Resultat an zu sehen.

_________________
"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: Sa Aug 26, 2006 13:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Extrawurst hat geschrieben:
stichwort gdi und gdi+, wo ist da überhaupt der unterschied und vor allem, wie kann man in delphi umstellen ob man nun das eine oder das andere nutzen will ? oder wird automatisch wenn windows gdi+ unterstützt das genommen von der winAPI ?


GDI+ kann einiges mehr als das normale GDI und ist auch schneller, siehe dazu MSDN, da gibts mehr Infos zu. Für GDIPlus braucht man extra Header, gibts auch für Delphi (einfach googeln, k.a. wo ich meine her hab). Gibts allerdings erst ab WindowsXP, ältere Windowsversionen brauchen dann ne extra dll, die man der Anwendung beilegen kann.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 06, 2006 15:00 
Offline
DGL Member

Registriert: Di Feb 01, 2005 15:59
Beiträge: 14
Wohnort: nähe Stuttgart
Nochmal zum Thema mehrere Viewports:

Also kann man sagen das man auf jeden Fall die höchste geschwindigkeit erhält wenn man alles in einem Render-Context macht, und damit halt die größen-Änderung der fenster selber implementieren muss, anstatt mehrere Fenster zu nehmen und für jeden einen eigenen RenderContext bereit stellen muss?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 06, 2006 15:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, wie ich ja bereits oben gesagt habe ist der Wechsel des RCs so ziemlich die aufwendigste (und damit verlangsamenste) Aktion die unter OpenGL möglich ist, und abgesehen davon muss man dann auch für jeden RC Ressourcen etc. verwalten.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 06, 2006 18:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Sascha Willems hat geschrieben:
Ja, wie ich ja bereits oben gesagt habe ist der Wechsel des RCs so ziemlich die aufwendigste (und damit verlangsamenste) Aktion die unter OpenGL möglich ist, und abgesehen davon muss man dann auch für jeden RC Ressourcen etc. verwalten.


Ist Framerate so wichtig, bei nem Leveleditor???
Ressourcenmanagement ist ja auch nicht das Prob, wenn man eh ne Klasse dafür hat, ob man nun eine oder vier Instanzen anlegt ... .

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 08:19 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du solltest dir wirklich überlegen ob du maximale Frameraten willst. Bei einem Editor der primär zum modellieren da ist, und nicht zum Spielen, ist eine Prozessorlast >60% nicht angebracht. Und auch mit 50FPS kann man flüssig drehen und Zoomen. Ein Timer wäre da sicherlich nicht verkehrt.

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


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


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 18 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.008s | 15 Queries | GZIP : On ]