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

Aktuelle Zeit: Mo Jul 21, 2025 17:45

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Aus PixelArray Textur machen
BeitragVerfasst: Mi Jul 28, 2004 18:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 28, 2004 18:30
Beiträge: 25
Wohnort: Chemnitz
hi,

ich hab mir von dieser Seite die tga2.pas geladen, da ich einen tga-loader brauch(te), der 8-Bit tga's laden kann, das Problem ist, dass ich (leider) nicht weiß wie ich aus dem PixelArray in der Data-Property eine textur mache (d.h. dass ich sie über glBindTexture) binden kann (also den Index (GLUInt) der textur kriege).

Hab bis jetzt das mit glBuild2DMipMaps gemacht:
Code:
  1. chipset.TextureID := gluBuild2DMipmaps(GL_TEXTURE_2D, 4, chipset.SizeX, chipset.SizeY, GL_RGBA, GL_UNSIGNED_BYTE, chipset.Texture.Data);
Er "lädt" dann zwar die Textur (glBindTextur geht), aber erstens steht sie auf dem Kopf (was ja noch nicht das Problem ist, da ich sie ja noch drehen kann), und zweitens sind die Farben irgendwie falsch (sieht ziemlich komisch aus), der AlphaKanal wird korrekt geladen.

es wäre vielleicht möglich dass es an der tga liegt (k.A.), könnte mal jemand bei sich versuche ne .tga damit zu laden? Vielleicht bin ich aber auch nur zu dumm und hab glBuild2DMipmaps total falsch verstanden (wär nett wenn mir dann jemand erklären könnte wieso das so nicht geht) oder es geht ganz anders?
oder gibts noch nen anderen loader der 8bit tga's lädt?

Danke, schon im Voraus.

mfg
GSE

_________________
In a world without walls and fences, who needs Windows or Gates?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 28, 2004 19:37 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Ich weiß zwar nicht genau wie dein chipset.Texture.Data genau aussieht (was das eigentlich ist) aber ich vermute es liegt daran, dass er je drei Grauwerte für drei Pixel als RGB ansieht (für einen Pixel) Wie gesagt is nur eine Vermutung

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 28, 2004 20:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das glaube ich allerdngs mal auch. Ein Blick auf die von dir genannte Seite hat vermutlich abhilfe geschaffen. Rufe mal ExpandToTrueColor auf. Evtl musst du auch BGRtoRGB aufrufen. Das kann ich nicht so genau sagen. Die Methode ExpandToTrueColor erweitert die 8 Bit Textur auf 24 Bit.

PS: Ich habe auch einen Loader geschrieben. Der kann zwar keine 8Bit TGA's dafür aber 24 und 32 und einiges andere. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 28, 2004 21:56 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 28, 2004 18:30
Beiträge: 25
Wohnort: Chemnitz
ExpandToTrueColor hatte ich schon. Dachte eigentlich, dass ich auch schon BGRToRGB probiert hatte.
Naja, habs jetzt nochmal genommen und es funktioniert (auch wenn das Bild imme rnoch auf dem Kopf steht, aber das ist ja nun kein Problem).

Zitat:
PS: Ich habe auch einen Loader geschrieben. Der kann zwar keine 8Bit TGA's dafür aber 24 und 32 und einiges andere.
Ist es damit möglich aus zipfiles direkt zu lesen (hab mal irgendwo gelesen das würde gehen)? Schau ihn mir auf jeden Fall mal an :D

nochmal thx

mfg
GSE

_________________
In a world without walls and fences, who needs Windows or Gates?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 29, 2004 09:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also aus Zip direkt nicht. Aber du kannst direkt aus Streams lesen. Und wenn du einen ZipDekompressionStream hast ist es möglich. Es gibt zum Beispiel in der uses zLib eine Streamklasse die eine Datei dekomprimiert. Und damit müsste es gehen. Habe ich zwar selber noch nicht ausprobiert aber sollte mich wundern wenn es nicht gehen sollte. Es ist ja auch nur ein Stream.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 29, 2004 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 28, 2004 18:30
Beiträge: 25
Wohnort: Chemnitz
Hey, cool das funktioniert ja.

Das ist natürlich noch besser :D und deine Unit ist auch nicht schlecht, hab die jetzt genommen (besonders da man nachträglich den AlphaChannel noch reinkriegt).

mfg
GSE

_________________
In a world without walls and fences, who needs Windows or Gates?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


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.007s | 15 Queries | GZIP : On ]