Hallo nochmal an alle,
so nun das zweite mal innerhalb von 24 Stunden ... Mein Problem befasst sich nun damit das ich mir die glBitmap.pas
(v. 2.0.2) runter geladen habe, weil ich den Code einfacher und
übersichtlicher finde. Nur naja ...
... ich kriege es nicht hin sie korrekt zum laufen zu bringen ...
Ich habe oben am Anfang erst einmal {$define GLB_NO_NATIVE_GL} aktiviert und gedacht das ich damit nun schon loslegen kann.
Tja um ehrlich zu sein weiß ich nichtmal ob es ausreicht nur
einen Define zu aktivieren.
Hatte dann ewig viele Fehler, aber das lag an
einer veralteten Version der dglOpenGL.pas.
Dadurch gingen natürlich nicht alle Probleme weg.
Danach kam immer beim compilieren ...
raise EglBitmapException.Create('LoadFromStream - Couldn''t load Stream. It''s possible to be an unknow Streamtype.');
Da es zu der glBitmap.pas keine richtige Doku oder Tutorial gibt hab ich
keine Ahnung was ich machen soll damit die Datei vernünftig läuft.
Würde die echt gerne ab sofort nutzen ... ...
Wäre echt nett wenn mir einer erklären könnte wie man die Datei
richtig konfiguriert bzw. wie ich meine Fehler beheben kann.
Der Fehler war das er meinen Quellcode gar nicht erst compilieren wollte.
Er blieb bei der aktuellen glBitmap.pas immer bei ca. Zeile 3072 stehen
und wies dort auf folgende Zeile hin:
raise EglBitmapException.Create('LoadFromStream - Couldn''t load Stream. It''s possible to be an unknow Streamtype.');
Den Fehler wirft er aber nur aus wenn ich versuche wie folgt mein Bild zu laden:
Code:
fTex := TGLBitmap2D.Create;
fTex.LoadFromFile('**\***');
fTex.AddAlphaFromFile('**\***');
fTex.GenTexture(false);
fTex ist vom Typ TGLBitmap2D und Global deklariert. Versuche ich aber mit der
vereinfachten Methode ein Bild zu laden ...
Code:
LoadTexture('**\***',TexID);// TexID = GluInt
... funktioniert es ohne Probleme.
Meistens reicht die Funktion da ich meine Bilder mit Gimp so bearbeite das ich sie
je nach Bedarf einfach aus der File laden kann ohne weitere Bearbeitungen durch
glBitmap.
Da ist aber noch ein Problem das nur verursacht wird wenn ich die glBitmap in die Uses einbinde.
Versuche ich meinen Code für die Skydome aus der externen Unit zu benutzen so
Funktioniert das Programm ca. 1 - 2 sek., friert dann aber ein und öffnet den CPU
Debugger. Leider habe ich keine Ahnung wie ich den CPU Debugger von Delphi
interpretieren kann um die Fehler zu finden.
Lade ich die Texturen hingegen mit SDL verursacht er nicht einen Fehler und macht
alles so wie vorher. Deshalb nutze ich zur Zeit wieder SDL. Da aber manche vielleicht
auch schon mal über das Problem gestoßen sind (oder irgendwann werden) halte ich
es auch für sinnvoll das Problem zu finden und zu beheben.
Na der Compiler meckert eigentlich gar nicht. Das ganze Programm
startet nicht und bleibt in einer Zeile hängen in der glBitmap ...
raise EglBitmapException.Create('LoadFromStream - Couldn''t load Stream. It''s possible to be an unknow Streamtype.');
Vorher fragt er die verschiedenen Typen ab ...
if not jpg then ... ...
Also als ob er meine Bilder nicht laden könnte. Die Bilder ladet
er aber mit der gleichen Angabe des Pfades mit der vereinfachten
Variante ohne Probleme. Ich weiß aber auch nicht wie ich eine Datei
als Stream speicher oder was ein Stream generell ist. Vielleicht liegt
da ja nur ein Verständnisproblem vor.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Hallo Nucleus,
du solltest 2 Dinge unterscheiden. Fehler beim Übersetzen eines Quellcodes in eine Anwendung. Und Fehler die wärend der Ausführung deines Programmes auftreten. Das was du dort hast ist letzteres, denn kompilieren (übersetzen) konntest du es ja. Nur beim Starten lieferte diese Zeite dort immer einen Fehler. Ich weiß, was die Zeile bedeutet deswegen ist mir auch klar, dass es sich dabei nicht um einen Fehler wärend des Kompilierens handelt sondern um einen Laufzeitfehler. Das kann man evtl auch kleinlich nennen aber es mag den ein oder anderen eher verwirren, weil du das eine sagst und das andere meinst.
Aber zu deinem Problem: Ab der Version 2 muss man die glBitmap konfigurieren, da sie Platformunabhängig sein soll habe ich die JPEG Implementation von Delphi nicht mehr per default aktiviert. Bei dir es so, dass du versuchst ein JPEG Bild zu laden welche Unterstützung aber nicht aktiviert wurde. Entsprechend kennt er es nicht und erzeugt diesen Fehler. Du müsstest bei dir GLB_DELPHI_JPEG aktivieren und dann sollte du JPEGs laden können. Natürlich nur, wenn du mit Delphi arbeitest. Ansonsten kannst du auch GLB_LIB_JPEG aktivieren. Das benutzt dann die libjpeg zu laden der JPEGs. Details stehen bei dem Define.
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.