Попробовал поиграться с "кислотной" палитрой и пришел к выводу, что, независимо от её правильности или неправильности, на мой вкус она точнее передаёт ощущение от реальной машины.
вот только вопрос возник. в ini файле от unreal предлагается высчитывать RGB значения по следующей схеме:
Код:
; palette format:
; name=ZZ,ZN,NN,NB,BB,ZB:R11,R12,R13;R21;R22;R23;R31;R32;R33
; where ZZ,NN,BB - bright levels for black,normal,and bright colors
; ZN,NB,ZB - bright levels for zero+normal, normal+bright, zero+bright
; for GIGASCREEN and FLASH-COLORS
; Rnn - matrix for post-processing:
; real_Red = (Red*R11 + Green*R12 + Blue*R13) / 0x100
; real_Green = (Red*R21 + Green*R22 + Blue*R23) / 0x100
; real_Blue = (Red*R31 + Green*R32 + Blue*R33) / 0x100
вот только с этим маленькая загвоздка - при делении на 0x100 мы, например, никогда не получим #FF0000 для красного цвета, потому что результатом будет #FE0000, что и можно наблюдать, если померять результат со скриншота с Unreal. Так и должно быть, или это погрешность из-за ошибки?
А результат получился более чем любопытным. Я приложил для сравнения пару PNG с результатом.
Если кому-нибудь надо, я модифицирую класс-конвертер, чтобы задавать палитру в общепринятом формате.