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

Aktuelle Zeit: Di Jul 08, 2025 01:27

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Apr 07, 2008 12:38 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Hallo Leute!

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:
  1.   var tmpBitmap : TBitmap;
  2.        GLBitmap2d : TGLBitmap2D;
  3.  
  4.   begin
  5.  
  6.       tmpBitmap := TBitmap.Create;
  7.       GLBitmap2d.AssignToBitmap(tmpBitmap);
  8.  
  9.   end;


GLBitmap2d wird vorher erstellt und geladen. Was mache ich falsch? Die Funktion AssignToBitmap() bricht bereits bei der ersten if-Abfrage ab, welche lautet:

Code:
  1.  if Assigned(GetData()) then begin


Wie gehe ich also vor?


Vielen Dank fürs Lesen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 07, 2008 13:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hi,
ich hatte das auch mal gemacht... aber etwa genauso wie du auch...
Aber du kannst es dir ja noch mal ansehen. HIER.

Ich hoffe, das hilft dir ;)

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 07, 2008 13:51 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 07, 2008 14:11 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Vielen Dank euch beiden!

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.


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 » Allgemein


Wer ist online?

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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]