Zum Texturenladen benutze ich die glBitmap.pas von Lossy Ex. Ich erstelle ein TGLBitmap2D-Objekt, funktioniert auch so wie gewünscht. Ich würde daraus nun gerne ein TBitmap - also den Delphi-eigenen Typ extrahieren. Hab schon versucht, eben dieses durch folgenden Code zu bekommen:
Code:
var tmpBitmap : TBitmap;
GLBitmap2d : TGLBitmap2D;
begin
tmpBitmap := TBitmap.Create;
GLBitmap2d.AssignToBitmap(tmpBitmap);
end;
GLBitmap2d wird vorher erstellt und geladen. Was mache ich falsch? Die Funktion AssignToBitmap() bricht bereits bei der ersten if-Abfrage ab, welche lautet:
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Rüdiger das Problem bei dir ist, dass du keine Texturdaten hast und das kann folgende Gründe haben.
Du hast noch keine Datei geladen.
Lösung: Textur irgendwoher laden.
Oder aber du hast die Textur bereits erstellen lassen. Aus Speicherspargründen lösche ich die lokalen Texturdaten nach dem Upload zur Grafikkarte. Da sie dann in der Regel nicht mehr benötigt werden.
Lösung: Entweder vor GenTexture die glBitmap2D auf eine Bitmap zuweisen oder vor GenTexture die Eigenschaft FreeDataAfterGenTexture auf False setzen. Allerdings gibt es da dann keine Möglichkeit die lokalen Daten zu löschen. (sollte ich mal einbauen)
Außerdem wie von MatReno schon richtig angedeutet. Ein Bitmap hat offiziell keinen Alphakanal und deswegen wird der ziemlich wahrscheinlich irgendwo auf der Strecke bleiben. Also nicht erschrecken falls da komische Farben ans Tageslicht kommen.
Tatsächlich war keine Textur geladen, jetzt klappts. Dass der Alphakanal fehlt ist nicht so schlimm, ich benutze das TBitmap nur als Vorschau im Editor. Die TGLBitmap2D-Objekte brauche ich noch lokal, weil ich diese momentan als Texturen in mein Dateisystem speichere.
Mitglieder in diesem Forum: Google [Bot] und 25 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.