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

Aktuelle Zeit: Mo Jul 14, 2025 00:32

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Jun 22, 2007 21:27 
Offline
DGL Member

Registriert: Mo Mär 26, 2007 21:56
Beiträge: 12
Hallo liebe Community!

Ich möchte in meinem Projekt mehrere OpenGL-Fenster (eigene Delphi-Forms) verwenden. Bisher habe ich sie in einzelnen Anwendungen verbaut, und sie funktionieren alleine auch wunderbar. Jetzt möchte ich sie jedoch in einem Programm laufen lassen, weil sie sich eine Netzwerkkomponente teilen sollen. Nun habe ich das Problem, dass immer nur in einem Fenster gezeichnet wird, und zwar in dem welches zuletzt erzeugt wurde. Meine Frage also: Wie bekomme ich es hin, dass ich in einer Anwendung mehrere OpenGL-Forms öffnen kann? Es sollen am Ende 4-6 Fenster werden. Und nein, ich kann nicht einfach ein großes Fenster nehmen und dieses unterteilen, ich brauche separate Forms.

Etwas zum Source: Ich verwende euren DGLOpenGL-Header in der Version 2.0 vom 06.12.2005. Das Zeichnen läuft über OnIdle, das Init wird beim ersten Aufruf von OnFormPaint ausgeführt. Falls ihr noch etwas an Source braucht sagt Bescheid...

Vielleicht erzähl ich kurz was über das Projekt damit ihr besser wisst warum ich es so haben möchte... Ich schreibe gerade die Display-Software für einen 737-Flugsimulator (ein komplettes Cockpit zum reinsetzen) und habe dazu 3 PCs vernetzt, die daran beteiligt sind. Sie tauschen über UDP-Broadcast Daten aus, und diese UDP-Komponente blockiert einen bestimmten Port (dadurch immer nur ein Programm pro PC) und führt außerdem noch viele Berechnungen mit den Daten durch, so dass ich nicht einfach möchte, dass die Programme mit je einer UDP-Kompo parallel laufen könnten (soll wohl auch möglich sein), der Weg mit mehreren OGL-Fenstern und einer UDP-Kompo wäre mir lieber. Was jetzt noch hinzukommt ist, dass jede Form in einer DLL gekapselt sein soll, und ein Hostprogramm diese dann aufrufen soll. Das funktioniert mit einem Fenster alleine auch super, ansonsten tritt o.g. Problem auf.

Es wäre super wenn ihr eine Lösung dafür parat hättet, hab schon einiges ausprobiert und hab wohl irgendwie ein Brett vorm Kopf...

Euch allen noch einen schönen Abend

Flo


Zuletzt geändert von pokerpilot am Sa Jun 23, 2007 10:47, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 23, 2007 10:47 
Offline
DGL Member

Registriert: Mo Mär 26, 2007 21:56
Beiträge: 12
Habe eine Lösung in einem anderen Thread gefunden! Den hatte ich gestern auch schon gelesen und ausprobiert, aber die entscheidende Funktion an der falschen Stelle eingesetzt (hatte gestern wohl schon einen Baum statt nur ein Brett vorm Kopf :wink: ). Jedenfalls war die Lösung des Problems, vor jedem Rendervorgang ein wglmakecurrent(dc,rc) aufzurufen, und das wars schon! Echt klasse, euer Forum!

Vielen Dank für die vielen tollen Beiträge, die mir schon so einiges Kopfzerbrechen aufgelöst haben! Ihr seid besser als Aspirin! :wink:

Flo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 25, 2007 13:09 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kannst du den passenden Thread bitte noch hier verlinken.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 25, 2007 13:16 
Offline
DGL Member

Registriert: Mo Mär 26, 2007 21:56
Beiträge: 12
Oh, ja sicher: den wichtigsten Hinweis auf die Lösung dieses Problems habe ich bei viewtopic.php?t=4590&highlight=wglmakecurrent gefunden.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 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.007s | 14 Queries | GZIP : On ]