MSA2
> Sheff
> Отлично выглядит!
Thnx)
и ещё один апдейт на сегодня пожалуй кину всё-таки, интерактивная трава:
далее в планах подтянуть визуальную часть, в частности сделать бэкграунд каким-нибудь динамичным и живым, добавить dof может быть + на foreground что-то ещё кинуть, чтоб была некая заполненность сцены, поменьше пустого пространства
В квесте умножения на 8 который выкладывал в ветке проекта писал, что есть проблемы с выпадением лута. Немного подправили этот момент.
Функция назначения лута теперь более или менее работает и доступна в редакторе. Если интересно можно посмотреть как у нас происходит это процедура:
p.s.
Сам редактор пока не является особо дружелюбным, но на этом этапе нам для работы пока достаточно. Помаленьку интерфейсы дорабатываем.
Sheff
Интересно получается!
Suslik
> сам-то как думаешь, почему так никто не делает? зачем вообще люди парятся со
> всеми этими аппаратными семплерами, которые переводят в линейное пространство?
Я вот тоже не догоняю. Зачем хранить в нелинейном и тратить ресурсы (хоть и небольшие) на преобразование в линейное, если можно сразу хранить в линейном?
Это они так на точности спекулируют, получая больше оттенков черного? Или что?
Просвети, я серьезно.
Great V.
хранят изображения в том пространстве, в котором распределение интенсивности максимально равномерно отображается на человеческое цветовосприятие. то есть на всём диапазоне srgb разница между яркостью 0..1, 42..43 и 254..255 выглядит максимально похожей, поэтому при хранении изображения память для его кодирования используется максимально эффективно. однако, яркость в этом пространстве обусловлена одними лишь особенностями человеческого цветовосприятия, поэтому это пространство нелинейно с точки зрения физики и никакие операции в нём производить нельзя, поэтому сначала переводят в линейное пространство, делают вычисления, а при записи — переводят обратно, чтобы отобразить результат.
Suslik
Бред. Без кривых от монитора это бесполезно.
Suslik
> яркость в этом пространстве обусловлена одними лишь особенностями человеческого
> цветовосприятия, поэтому это пространство нелинейно с точки зрения физики
А хорошо бы картинку.
Две картинки.
Некое преобразование без учёта и с учётом перевода в линейное пространство.
Две картинки убедительнее тысячи слов.
122
> Некое преобразование без учёта и с учётом перевода в линейное пространство.
Тут еще прикол в том, что у меня например монитор Apple Cinema 30". Цветовой охват по RGB превышает sRGB значительно (Почти до Adobe RGB
). Т.е. получается, что преобразовав в sRGB мне урезают спектр моего монитора. Тоже самое с мониторами, которые не дотягивают по охвату до sRGB - они после преобразования, все равно не покажут охват sRGB.
Эта коррекция нужна только для эмуляции sRGB на мониторах с большим цветовым охватом, да и то только при наличии данных с калибратора.
Great V.
> Зачем хранить в нелинейном и тратить ресурсы (хоть и небольшие) на
> преобразование в линейное, если можно сразу хранить в линейном?
Ради сжатия, надо полагать. Ведь чтобы хранить арт в линейном, не теряя точность в черноте, надо использовать float-форматы (16 бит на канал).
BUzer
> Ради сжатия, надо полагать. Ведь чтобы хранить арт в линейном, не теряя точность в черноте, надо использовать float-форматы (16 бит на канал).
Ты точно также можешь сохранить HDR-текстуру в формате BC6H (сжатый unsigned float), в нём я и храню Альбедо, весит столько же, сколько и BC7 (sRGB).
P.S. Сейчас начинаю набивать руку на текстурировании, Альбедо буду изначально дизайнить в HDR.
Правда формат BC6H не содержит альфа-канала, но это не беда, его можно включить в любую другую текстуру, всё равно в финале все 1-цветные карты сохраняются в RGBA-текстуры.
eDmk
> Т.е. получается, что преобразовав в sRGB мне урезают спектр моего монитора.
Мне кажется ты просто будешь видеть цвета не так как остальные игроки.
Зелёный 255 будет выглядеть не так как 255 зелёный выглядит у игрока. Это даже скорее плохо чем хорошо. Игры насколько я знаю не делают коррекции цветового пространства вообще, сказано канал 255 значит 255.
122
> Игры насколько я знаю не делают коррекции цветового пространства вообще, сказано канал 255 значит 255.
Для этого и существует коррекция гаммы. Вот хороший топик на эту тему.
Можно при первом запуске игры просто дать пользователю настроить гамму и потом преобразовывать на её основе.
В более сложном случае можно определять цветовое пространство монитора и преобразовывать картинку в его цветовое пространство.
122
Все верно. Сам стандарт sRGB ни к чему не обязывает. Это просто один из стандартов цветового охвата рекомендованный производителям мониторов. Чтобы охват был не ниже или близко. Да и вообще это был 1996 год и мониторы были CRT.
Suslik
Спасибо, так стало намного понятнее.
BUzer
> Ради сжатия, надо полагать. Ведь чтобы хранить арт в линейном, не теряя
> точность в черноте, надо использовать float-форматы (16 бит на канал).
А если надо большую точность в другом диапазоне? Выглядит так будто бы проще тупо держать отдельно коэффициенты для шейдера.
Тема в архиве.