Sollte die Farbe einer Textur für die Anzeige auf einem Fernseher angepasst werden?


10

Wenn ein 24-Bit-RGB-Bild mit einem Bereich von 0 bis 255 pro Kanal auf einem Fernseher angezeigt wird, der einen Bereich von ca. 16-235 pro Kanal, Farbdetails gehen verloren, richtig?

Wenn ja, sollten Bilder vorverarbeitet werden, um nur einen gültigen Bereich zu speichern? Ich möchte dies mit Code tun, nicht in einer Bildbearbeitungsanwendung. Ich erinnere mich vage daran, dass eine lineare Zuordnung nicht der beste Weg ist, dies zu tun, aber leider kann ich den Artikel, den ich gelesen habe, nicht finden! Wie heißt dieser Prozess? Welche weiteren Details muss ich wissen?

Antworten:


8

Einige Farbdaten gehen verloren oder werden unabhängig von Ihrem Texturformat geändert. Ein größeres Problem wird jedoch die Gammakorrektur sein. Die Gammakorrektur kann ein heikles Thema sein, da Ihr Spiel nicht in allen Anzeigetechnologien optisch gleich aussieht und es nicht einfach ist, eine einzige Lösung zu finden.

Diese könnten Ihnen helfen:


Danke für die Links. Ich mache bereits beim Laden eine Gammakorrektur mit libpng, was hilft, aber ich muss möglicherweise nach dem Lesen der obigen Informationen noch einmal auf den Code schauen, da die Bilder auf einem Fernseher immer noch "verwaschen" sind.
xx

5

Lineares Mapping ist wahrscheinlich nicht die beste Lösung (was meiner Meinung nach das Konvertieren Ihres RGB in einen CIE-Farbraum , das Skalieren dort und das Zurückkonvertieren umfasst ), aber es ist sehr einfach zu implementieren und der Bereichsunterschied ist klein genug, es spielt wahrscheinlich keine Rolle .

Wenn Sie SOIL verwenden , kann dies beim Laden des Bildes automatisch erfolgen, indem SOIL_FLAG_NTSC_SAFE_RGB an die Ladefunktionen übergeben wird.

In der Microsoft-Dokumentation wird angegeben, dass geklemmt werden soll, und es wird empfohlen, dies in einem Pixel-Shader zu tun. (Die lineare Skalierung sollte auch in einem Fall einfach sein.) Außerdem wird das Chroma-Crawlen erwähnt, was meiner Erfahrung nach ein viel ärgerlicheres Phänomen bei der Arbeit an Fernsehbildschirmen ist.


BODEN! Ich habe diese Bibliothek vergessen. Es hat mir in der Vergangenheit mit einigen Ideen geholfen. Danke für die Links.
xx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.