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

Aktuelle Zeit: Fr Jul 18, 2025 00:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 18:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
Habs jetzt auch mal in die InitGL gestellt.
Der Fehler gesteht immernoch...
Konnte ihn aber etwas isolieren:
Es kommt zu der Violation bei
Code:
  1.   FTex.GenTexture;


und zur überprüfunge hier nochmal der Text der kompletten InitGL:
Code:
  1. procedure glInit();
  2. begin
  3.   glEnable(GL_TEXTURE_2D);         // Aktiviert Texture Mapping
  4.   FTex := TglBitmap2D.Create;
  5.   FTex.SetTextureWrap(GL_REPEAT, GL_REPEAT);
  6.   FTex.SetFilter(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR);
  7.   FTex.LoadFromFile('asteroids.bmp');
  8.   FTex.GenTexture;
  9.   glShadeModel(GL_SMOOTH);         // Aktiviert weiches Shading
  10.   glClearColor(0.0, 0.0, 0.0, 0.5);    // Bildschirm löschen (schwarz)
  11.   glClearDepth(1.0);               // Depth Buffer Setup
  12.   glEnable(GL_DEPTH_TEST);         // Aktiviert Depth Testing
  13.   glDepthFunc(GL_LEQUAL);          // Bestimmt den Typ des Depth Testing
  14.   glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
  15.                              // Qualitativ bessere Koordinaten Interpolation
  16. end;

Na? ne ahnung?

BTW: FTex wurd global deklariert:
;
Code:
  1.   FTex : TglBitmap2D


LEO


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 21:02 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Hast Du schon einen gültigen RenderContext erstellt und diesen aktiviert? Auch die Funktionen ReadExtensions, ReadImplementationProperties zuvor aufgerufen?

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 22:20 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Als Referemz kannst du ja mal ein Template von hier verwenden. Die sollten reibungslos mit Losseys Loader arbeiten. Einfach eins davon als Referenz mal ziehen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 22:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
sry, weiß grad nicht was du mir sagen willst... :wink:
was templates sind weiß ich ungefähr aber das kenne ich nur aus C++ :oops:

Leo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 23:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was ein Template ist? Unser Wiki ist allwissend (naja fast ;) ): http://wiki.delphigl.com/index.php/OpenGL_Template 8)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 23:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
mit dem Template kommt die selbe Violation, wie bei meinem Programm
Vielleicht hab ich die auch falsch eingebunden.

Hab folgendes gemacht:

FTex als globale Var deklariert:
Code:
  1.  
  2.   FTex : TglBitmap2D ;


InitGL verändert:
Code:
  1. procedure glInit();
  2. begin
  3.   glEnable(GL_TEXTURE_2D);         // Aktiviert Texture Mapping
  4.   FTex := TglBitmap2D.Create('asteroids.bmp');;
  5.   FTex.SetTextureWrap(GL_REPEAT, GL_REPEAT);
  6.   FTex.SetFilter(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR);
  7.   FTex.GenTexture;
  8.   glShadeModel(GL_SMOOTH);         // Aktiviert weiches Shading
  9.   glClearColor(0.0, 0.0, 0.0, 0.5);    // Bildschirm löschen (schwarz)
  10.   glClearDepth(1.0);               // Depth Buffer Setup
  11.   glEnable(GL_DEPTH_TEST);         // Aktiviert Depth Testing
  12.   glDepthFunc(GL_LEQUAL);          // Bestimmt den Typ des Depth Testing
  13.   glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
  14.                                          // Qualitativ bessere Koordinaten Interpolation
  15. end;

Das sollte doch zumindest die texture laden, oder nicht?
Hab ich nen Fehler dort irgendwo gemacht?
Was vergessen oder an ne falsche stelle geschrieben?

Leo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 23:24 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Gibt uns bitte den ganzen Code als Anhang, vielleicht klappt´s dann.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 23:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
ok hier ist der code vom template mit der Texture einbindung:
der rest wie glBitmap.pas dürfte ja unverändert bleiben.

Ich hoffe ihr findet was.
Hab mir gerade das ziel gesetzt, dass ich erst schlafen gehe wenn die texturen funktionieren! :wink:

Leo


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 00:13 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Und da habe wir einen Gewinner.

Fehler : glBitmap benutzt dglOpenGL.pas und du hast OpenGL.pas. Jetzt ist alles geregelt.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 00:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
heißt das ich muss mein openGL.pas durch die andere ersetzen?
wo haste die datei denn abgeändert ich entdecke da nix..

EDIT: Das was du gepostet hast erzeugt bei mir immernoch die Violation... :cry:
Ich verzweifel langsam hier...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 00:33 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ja! Du musst die openGL.pas von Borland aus deinem Code werfen und dafür die DGLOpenGL.pas benutzen.

Wenn du nur die Files austauschst wirds noch net gehn, denn die DGLOpenGL.pas benötigt 2,3 Procedure aufrufe vorneweg. Wenn du das 1.5er Template benutzt sollte die Initialisierung allerdings schon stimmen.

Da kannst du ja gleich ins Bett.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 00:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
ENDLICH!!! nach drei Tagen ewigwährender Verzweiflung hab ich endlich eine Texture in meinem Menü!!!
Haahh!!
ich hab zwar noch keinen plan wieso das jetzt funktioniert aber das krieg ich glaub ich jetzt auch noch hin. :wink:

Danke euch!!

Leo

EDIT: Ok ein Problem ist wieder aufgetaucht.. Meine schriftfarbe ist jetzt schwarz und lässt sich nicht ändern... zumindest nicht mit glColor3f(...)..
Ne Idee?

EDIT2: Also meine Vermutung ist dass er nachdem er das Rechteckt mit der Texture gerendert hat auch die Schriftmit der texture rendert. Gibts ne möglichkeit die texture vor dem rechteckt zu binden und danach wieder zu "entbinden", sodass meine Schrift wieder ne farbe kriegt die ich ihr zuweise?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 07:58 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Ja, in dem Du nach dem Zeichnen der Texture glDisable(GL_TEXTURE_2D) aufrufst. Vor dem Zeichnen must dann wieder glEnable(GL_TEXTURE_2D) aufrufen, damit deine Textur angezeigt wird.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 09:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 21, 2005 21:59
Beiträge: 33
Super jetzt funktionier alles!

Danke euch allen!

Leo


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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 ]