AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [OpenGL] Farbverfälschung beim Darstellen von tga-Bildern
Thema durchsuchen
Ansicht
Themen-Optionen

[OpenGL] Farbverfälschung beim Darstellen von tga-Bildern

Ein Thema von Zwoetzen · begonnen am 24. Okt 2007 · letzter Beitrag vom 24. Okt 2007
Antwort Antwort
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#1

[OpenGL] Farbverfälschung beim Darstellen von tga-Bildern

  Alt 24. Okt 2007, 09:03
Hi alle zusammen,

ich befasse mich seit neuestem mit OpenGL, um mich mal an einer kleinen 2D-Anwednung zu versuchen. Allerdings bin ich recht schnell auf folgendes Problem gestoßen:


Wenn ich ein tga-Bild als Textur einbinden will, so wird sie mit verfälschten Farben dargestellt. Ich habe eine grünliche Textur (mit Alphakanal) erstellt, allerdings wird diese in meinem Programm rosa dargestellt.
Noch als Info: Ich nehme den Texturenloader glBitmap.

Als Veranschaulichung habe ich mal eine TestTextur erstellt und reingeladen, da könnt ihr mein Problem mal sehen (anhand der elementaren Farben).
Das erste Bild zeigt die Grafik, wie ich sie erstellt habe. Dabei ist anzumerken, dass die untere Hälfte 100% transparent ist, die obere nicht.
Das zweite Bild zeigt nun die Textur in meinem Programm. Das hellere Blau ist der Hintergrund, und außerdem steht sie noch auf dem Kopf (wegen glBitmap, hab vergessen sie noch umzudrehen).

An diesem bild ist recht gut zu erkennen, dass da beim reinladen (oder abspeichern) irgendwie was schieflaufen muss.

Ich bin mir sicher, dass der Code, den ich verwende richtig ist, denn wenn ich anstelle von tga beim Laden ein JPG-File angebe, so wird dieses korrekt geladen und angezeigt. Wenn gewünscht, kann ich die Code-Schnipsel aber gerne noch posten.


Würde mich freuen, wenn mir jemand weiterhelfen kann, oder zumindest sagen kann, dass das Problem bekannt ist.


MfG zwoetzen
Miniaturansicht angehängter Grafiken
bild2_102.gif   bild1_865.gif  
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#2

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 09:21
Die Texturen mit der glBitmap stehen nicht auf dem Kopf die sind ausnahmsweise so wie sie eigentlich sind. In Wirklichkeit stehen alle anderen auf dem Kopf.

Aber ich muss gestehen ich kann mir nicht erklären wieso das so komisch aussieht. Zu mal es auf mich auch so den Eindruck macht als ob das resultierende Bild auch noch etwas gedreht ist.

Stelle aber bitte sicher, dass die Fläche die du zeichnest auch eine weiße Farbe hat und die Texturkoordinaten richtig sind. Und evtluelles Licht deaktiviert ist. Also nur die blanke Textur auf einer weißen Fläche. Falls es nicht an so etwas liegt dann poste bitte mal das originale TGA als ZIP. Dann schaue ich mir das mal selber an. Und evtl den Code mit dem du diese Fläche zeichnest.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 09:28
Ich habe eigentlich keine Spezialeffekte (bis auf den Alphatest) aktiviert. Wie gesagt: Nehme ich statt des tga ein jpg und zeichne es auf dasselbe Viereck, ohne irgendetwas dran zu ändern, so wird dieses ja exakt dargestellt. Hab auch vorher nix eingefärbt oder so (nur die Standartfarbe auf dieses helle Blau gesetzt) zumindest bin ich mir dessen nicht bewusst ^^

Im Anhang findest du das tga-File. Hab leider jetzt keine Zeit mehr, noch großartig was zu schreiben
Angehängte Dateien
Dateityp: zip testtexture_280.zip (2,8 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#4

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 10:32
So ungern ich es auch zugebe aber ja. Der Fehler liegt tatsächlich in der glBitmap. Oder bei PSP weil die was schreiben was alle anderen nicht tun. Kann man sehen wie man will.

Dieses Feld was PSP schreibt wurde nicht berücksichtig. Und dadurch haben sich die Bilddaten um Byte verschoben. Habe ich aber nachgerüstet und auf meinen Server geladen. Also bitte aktuelle Version ziehen. News auf der Hauptseite folgt heute abend noch also nicht verwirren lassen.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#5

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 13:58
Vielen Dank, mit der neuen Version werden die TestTextur und auch meine anderen Texturen richtig dargestellt

EDIT:
Was mir gerade auffällt: Woher weißt du eigentlich, dass ich PSP verwende? Steht das etwa auch mit in dem Bild drin oder hast du das anhand der Struktur erkannt? (Kenn mich nicht sonderlich gut aus mit Bildern, aber das wundern mich jetzt schon ein bisschen ^^)
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#6

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 15:08
He He. Big Brother... Neee. Die Struktur ist (bis auf die eine Sache) normal ziemlich gleich, allerdings erlaubt das Format gewisse Metadaten (welche weiß ich auch nicht genau). Und da steht das drinne. Ganz unten in der Datei. Wobei mich die in dem Loader auch nicht interessieren.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 15:43
Evtl. lädst du das Ding nicht richtig. Schau mal genau, ob du auch wirklich alle Kanäle richtig zugewiesen hast.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#8

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 17:35
3_of_8: Damit hast du recht. Allerdings ist das Problem bereits gelöst.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [OpenGL] Farbverfälschung beim Darstellen von tga-Bilder

  Alt 24. Okt 2007, 17:52
Ah hab ich nicht gesehen... (Aber so ein Problem hatte ich auch schon mal)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz