Czy kolor tekstury należy dostosować do wyświetlania na ekranie telewizora?


10

Jeśli obraz 24-bitowy RGB z zakresem 0–255 na kanał jest wyświetlany na ekranie telewizora o zakresie około. 16-235 na kanał, szczegóły kolorów zostaną utracone, prawda?

Jeśli tak, to czy obrazy powinny być wstępnie przetworzone w celu przechowywania tylko prawidłowego zakresu? Chciałbym to zrobić za pomocą kodu, a nie w aplikacji do edycji zdjęć. Nieco pamiętam, że mapowanie liniowe nie jest najlepszym sposobem na zrobienie tego, ale niestety nie mogę znaleźć artykułu, który czytałem! Jak nazywa się ten proces? Jakie inne szczegóły muszę wiedzieć?

Odpowiedzi:


8

Niektóre dane kolorów zostaną utracone lub zmienione niezależnie od formatu tekstury. Jednak większym problemem będzie korekcja gamma. Korekcja gamma może być trudnym tematem, ponieważ twoja gra nie będzie wyglądać tak samo we wszystkich technologiach wyświetlania, a znalezienie jednego rozwiązania nie będzie łatwe.

Mogą ci pomóc:


Dzięki za linki. Już robię korekcję gamma w czasie ładowania przy pomocy libpng, co pomaga, ale po przeczytaniu powyższych informacji może być konieczne ponowne spojrzenie na kod, ponieważ obrazy są nadal „wypłukiwane” w telewizorze.
xx

5

Mapowanie liniowe nie jest prawdopodobnie najlepszym rozwiązaniem (które moim zdaniem obejmuje konwersję RGB do przestrzeni kolorów CIE , skalowanie tam i konwersję wstecz), ale jest bardzo łatwe do wdrożenia, a różnica zasięgu jest na tyle mała, że ​​prawdopodobnie nie będzie miała znaczenia .

Jeśli użyjesz SOIL , może to zrobić automatycznie podczas ładowania obrazu, przekazując SOIL_FLAG_NTSC_SAFE_RGB do funkcji ładowania.

Dokumentacja Microsoftu nakazuje zacisnąć i zaleca robienie tego w module cieniującym piksele. (Skalowanie liniowe powinno być również łatwe w jednym.) Wspomina także indeksowanie chrominancji, co z mojego doświadczenia jest znacznie bardziej irytującym zjawiskiem podczas pracy na ekranach telewizyjnych.


GLEBA! Zapomniałem o tej bibliotece. W przeszłości pomógł mi kilka pomysłów. Dzięki za linki.
xx
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.