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

Aktuelle Zeit: Fr Jul 18, 2025 08:47

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



Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 2 x wglMakeCurrent
BeitragVerfasst: Mo Mai 16, 2005 13:47 
Offline
DGL Member

Registriert: Mo Mai 16, 2005 13:37
Beiträge: 5
Hallo,

ich bin neu hier im Forum und bastel gerade ein wenig herum...

Ich würde gerne eine zweite 3D-Scene eröffnen, der zum Beispiel die aktuelle Ansicht nach hinten anzeigt.
Mit einem 2. Aufruf con wglMakeCurrent scheint es nicht zu funktionieren.

Und wenn ich diese Befehle auch noch zyklisch aufrufe, wächst der Speicher meiner Anwendung. Dazu müsste ich den Befehl wglDeleteContext nutzen und dann wieder initialiseren, aber das dauert ewig...

Gibts dazu noch ne Möglichkeit? Meine Objekte ändern sich ja nicht, ich möchte im 2. Fenster nur die Ansicht ändern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 14:48 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn du zwei getrennte OpenGL Fenster hast ist es prinzipiell egal was in ihnen dargestellt wird. Wie man sowas machen könnte kannst du dir in dem Template angucken welches 2Panels für die Ausgabe nutzt. (Siehe Files)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 15:17 
Offline
DGL Member

Registriert: Mo Mai 16, 2005 13:37
Beiträge: 5
mh danke, hab das Beispiel gefunden.

Aber auch dieses Beispiel ist ein Speicherfresser. Lass es mal laufen und guck im Taskmanager nach... :(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 17:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Sollen die 2 Ausgabefenster den Nebeneinander oder Übereinander sein, oder zumindest auf dem selben Fenster ? Wenn ja, würde ich mir überlegen, das 2.Fenster (oder beide) in PBuffer zu rendern und das Fenster dann mit der Textur zu bekleben, kann sein, dass das weniger Speicher verbraucht.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 17:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Also bei mir liegt die speichernutzung des templates bei konstant 5mb.
ist das nicht recht normal???

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 17:42 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Am einfachsten ist es immer noch einen Render Context zu benutzen und für die Ansichten dann nur den Viewport umzustellen und den Depth Buffer zu löschen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 19:22 
Offline
DGL Member

Registriert: Mo Mai 16, 2005 13:37
Beiträge: 5
@Tomok: Es soll eigentlich in ne andere Form

@LarsMiddendorf: Das mit einem Rendercontext versteh ich nicht ganz, denn der benötigt ja das Handle der Form oder des Objects auf dem Delphi OpenGL zeichnet.

:( Ich komm im Moment nicht weiter


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 19:36 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
1)Ich meinte, wenn die zwei Fenster direkt nebeneinander angezeigt werden sollen, dann kann man es auch bei einem Context und z.B. nur einem Panel belassen und mit glViewport den benutzten Bereich einstellen.

2) Man kann auch einen bestehenden RC im Wechsel an zwei verschiedene Panels bzw. die zugehörigen DC's binden. Die einzige Bedingung ist, dass die Pixelformate exakt gleich sind.


Zuletzt geändert von LarsMiddendorf am Mo Mai 16, 2005 22:57, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 22:56 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Für was genau benötigst du es denn. Wenn es nicht so Framekritisch ist, kannst du die Methode aus dem Template nehmen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 23:30 
Offline
DGL Member

Registriert: Mo Mai 16, 2005 13:37
Beiträge: 5
Hm, ich bekomm es nicht hin, innerhalb eines Handles mit 2 Viewports zu arbeiten, ohne das der jeweil andere gelöscht wird. Durch den Befehl ändert sich ja sofort die Scene und der andere im Moment nicht genutzte Teil ist wieder schwarz...

Die Methode aus dem Template ergibt bei mir, kompiliert mit D5 jedesmal einen Speicherfresser - Ich hab nix verändert und das Programm start mit 12MB und wächst mit 200K/s. Das Template kann ich so nicht nutzen? Bin ich denn der einzige, bei dem das so ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 23:32 
Offline
DGL Member

Registriert: Mo Mai 16, 2005 13:37
Beiträge: 5
Zitat:
2) Man kann auch einen bestehenden RC im Wechsel an zwei verschiedene Panels bzw. die zugehörigen DC's binden. Die einzige Bedingung ist, dass die Pixelformate exakt gleich sind.


gibts dazu ein Beispiel?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 16, 2005 23:58 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Wenn du den Viewport änderst und dann darfst du mit glClear nur den Depth Buffer löschen, und den Color Buffer nur einmal am Anfang sonst ist ja alles wieder weg.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 17, 2005 11:47 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
Zitat:
Die Methode aus dem Template ergibt bei mir, kompiliert mit D5 jedesmal einen Speicherfresser - Ich hab nix verändert und das Programm start mit 12MB und wächst mit 200K/s. Das Template kann ich so nicht nutzen? Bin ich denn der einzige, bei dem das so ist?


Bei mir (dann D6 kompiliert) bleibt die auch konstant bei 12 mb.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 17, 2005 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
ist ja vielleicht blödsinn, aber eventuell neue Grafiktreiber installieren oder mal cacheman oder ähnliches ausprobieren...
(finde ich eh sinnvoll)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


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


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 16 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 | 16 Queries | GZIP : On ]