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

Aktuelle Zeit: Fr Jul 18, 2025 00:19

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Dez 05, 2005 19:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich habe ein prob mit glBitmap.

Code:
  1.  
  2. BackTex := TglBitmap2D.Create('.\gfx\player.bmp');
  3. BackTex.GenTexture(); //<-- Zugriffsverletzung an Adresse 00000000
  4.  


Kann mir jemand (möglichst schnell) helfen?

Gruß Lord Horazont[/code]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 19:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Funktioniert denn der Rest? Das sieht für mich so aus als ob deine Funktionspointer nicht initialisiert wurden. Oder anders gefragt benutzt du eigentlich die dglOpenGL zum initialisieren von OpenGL? Wenn nicht solltest du das tun.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 20:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich benutze fast das komplette VCL-Template.

OpenGL ist zu dem Zeitpunkt komplett initialisiert und da ich den JEDI-Exception-Dialog benutze, kann ich sogar die exakte Zeile des Fehlers ausmachen:

glBitmap.pas, TglBitmap2D.GenTexture(TestTextureSize: Boolean), Zeile 2220
Code:
  1.  
  2. glGetIntegerv(GL_MAX_TEXTURE_SIZE, @TexSize);
  3.  

Ich habe mir die aktuellste version von glBitmap.pas runtergeladen.

Die Funktionspointer müssten initialisiert sein, da sonst alles funktioniert. Ich hatte mir auch eine eigene Texturklasse geschrieben (in zusammenspiel mit der glaux.pas), aber da hatte ich leider keinen Alpha-Channel. Also wollte ich auf glBitmap.pas umsteigen. Das hat dann das hier ergeben.

Gruß Lord Horazont


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 20:30 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Tu mir mal bitte einen Gefallen und übergib bei GenTextures mal ein False. amit die Überprüfung der Gültigkeit der Textur deaktiviert. Mal sehen wo es dann kracht ;-)

Und noch etwas. Speichere mit dem glInfo mal bitte einen Report und Hänge den an oder schicke ihn per mail.

Ich finde das gerade alles äußerst seltsam. Diese Überprüfung ist seit der ersten Version drinne du bist der Einzigste bei dem es zu Problemen kommt. Und bei dem OpenGL funktioniert und initialisiert wurde.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 06, 2005 15:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Bei False "kracht" es
glBitmap.pas, TglBitmap.CreateID, Zeile 1405
Code:
  1.  
  2. glGenTextures(1, @ID);
  3.  

ich vermute mal, dass da was mit dem Pointer auf ID nicht stimmt.
2. Ich habe mal selber ein glGenTextures(1, @FID) gesetzt, Zugriffsverletzung, aber in Massen! Das hat nach einem einfachen weiter nicht aufgehört!
3.
*unterbrech*
gerade während dem schreiben ist mir die Idee gekommen, dass glBitmap vielleicht die falsche GL-Unit verwendet. Und was sah ich: ich benutze die "OpenGL12" und glBitmap die "dglOpenGL".
Ich habe auch einen grund, weshalb ich die "OpenGL12" benutze und nicht die andere:
Bei mir gab es da grundsätzlich Exceptions (Zugriffsverletzung). Mit der "OpenGL12" funktionierts. Allerdings funktioniert die nicht mit glBitmap. Jetzt habe ich den Fehler und ein großes Problem.

Also: Andere Fragestellung in neuem Thread...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 06, 2005 15:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hmmm. Hatte in meinen ersten Posting schon gefragt. ;-) Aber okay. Damit hat sich das ja geklärt. Die dglOpenGL musst du ein bisschen anders einbinden als das mit der OpenGL12 der Fall ist. Aber das sollte normal alles nicht das Problem sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 06, 2005 16:00 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Nun, ich hatte genau das selbe Problem auch mal vor einem Jahr in etwa. Ich hatte auch das VCL-Template benutzt und... nun ja, es lag an den Headern. Einfach überall dglopengl reinschreiben und die Initialisierung etwas umstellen. Dann sollte es gehen.

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


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.013s | 15 Queries | GZIP : On ]