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

Aktuelle Zeit: Do Mai 23, 2024 05:31

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Jun 02, 2013 07:20 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Hallo,

in letzter Zeit sind mir vermehrt Empfehlungen für gDebugger im Forum hier aufgefallen, deshalb habe ich mir das Tool jetzt auch mal besorgt.
In der Tat hat mich gDebugger gleich mal auf einen peinlichen Fehler (Memory Leak) hingewiesen, dieweil ich meine Rendering Contexte nicht frei gegeben habe.

Soweit schonmal so gut..

jetzt bekomme ich noch diese Meldung:

Zitat:
Detected error: The debugged process asked for an extension function pointer (glGenBuffers) from one render context, but called this function pointer in another render context (context #1)


ich verwende insgesamte 2 rendering contexte und habe wglsharelists eingeschaltet.. meine Anwendung arbeitet auch so wie ich mir das wünsche - Kennt jemand diesen Fehler - ist es überhaupt einer? Was kann ich tun damit er verschwindet?

Danke schonma!

Wolfgang


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 02, 2013 12:39 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Hallo,
dieser Fehler tritt auf, wenn du mehrere Rendercontexte hast (zB. auch wenn man einen neuen OpenGL 3+ Context erstellt). Wenn ich das richtig verstanden habe muss man für jeden Context die Pointer zu den OpenGL-Befehlen neu abfragen. Das heißt, das du zu deinem neuen Context auch die Pointer der glXXX Befehle updaten musst. Die meisten Treiber (zumindest gab des bei mir noch nie Probleme) geben aber keinen Fehler aus, wenn du die Function-Pointer vom anderen Context weiter benutzt.

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 02, 2013 15:18 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Dankeschön für die Antwort, das deckt sich soweit mit meinen Beobachtungen.. (das es keine Probleme verursacht) aber das muß ja nicht für alle exotischen grafikkarten und ihre Treiber stimmen, deshalb wärs mir lieb, wenn ich es "richtigstellen" könnte, weiß nur leider nicht wie... wie würde das denn konkret aussehen
Zitat:
die Pointer zu den OpenGL-Befehlen neu abfragen
?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 02, 2013 15:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Das Abfragen der Pointer macht normalerweise die dglOpenGL.pas "automatisch" im Hintergrund. OpenGL ist beim Einbinden auch nicht mehr als eine dynamische Library, bei welcher die verfügbaren Funktionen mittels GetProcAddress abgefragt werden können. Der Pointer, welcher dann auf die zurückgegebene GL-Funktion zeigt kann allerdings nur eine Adresse speichern (glGenBuffers=Pointer auf Funktion) und wird somit beim erstellen des 2ten Kontextes überschrieben. Du müsstest also die OpenGL-Funktionen nochmals selber abfragen und speichern.

_________________
You even trying ...

Website: http://rise-of-light.de/


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 » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.012s | 14 Queries | GZIP : On ]