Войти
ПрограммированиеФорумГрафика

sRGB - для чего? (12 стр)

Страницы: 17 8 9 10 11 12
#165
4:45, 14 авг. 2019

Suslik
Жаль, не было такого препода у нас в ФТИ. Я откровенно скучал на программировании и думал на кой черт нужен этот матан и аналгеометрия. Сказал бы мне кто тогда, что в основе рендеринга игр лежат матрицы и прочие интегралы, может было бы больше энтузиазма, а то как-то тяжко стало все это понимать на старости лет)


#166
8:48, 14 авг. 2019

>Представь для начала себе 1 свечу, стоящую далеко от тебя. Ты видишь её яркость. Потом к этой >свече добавляют еще +1 свечу. Ты видишь, что стало реально ярче.
да возможно, хотя если очень далеко стоят, может ничего не изменится, но ок

>Теперь возьмем другой сценарий. Далеко от тебя стоит 1000 свечей (они далеко, и для тебя они >сливаются в одну точку). Потом к этой 1000 свечей добавляют еще +1. Вот ты нифига не заметишь >разницы.
ок, это логично.
A если будет srgb я замечу что добавилась еще одна свеча? и смогу по значению яркости определить сколько свечей расположено?

>Теперь воьзмем картинку. В ней 8 бит на канал, а значит яркость распределена
>на интервале [0;255].
ок

>Если бы все было по честному, и каждая единица в этом интервале была равна скажем как в >примере одной свече,

>то разница между 254 и 255 была бы совершенно незаметна,
логично

>а разница между 0 и 1 просто охренеть как заметна.
тоже не факт, хотя если это переводить в состояние выкл-вкл, то наверное заметно

>Чтобы схитрить и сэкономить битики умные дядьки решили.
эм? а могли диапазон до 65 536 увеличить и 16 бит?

>А давайте растянем диапазон в районе нуля,
то есть значение станет вещественным, и цвет будет не 127, а 0.5?

>а в районе 255 наоборот сузим.
чего? как это вообще здесь появилось, после того как решили что все до единицы

>В действительности они еще учли разную чувствительность разных колобочек в глазу и т.п. и >вышел sRGB, который все мониторы и показывают.


>Но теперь появилась проблемс. Ты не можешь взять цвет (32,32,32) и порсто прибавить к нему >скажем (32,32,32), потому что итоговая яркость (64,64,64) будет не в 2 раза выше. Ведь теперь 1 >яркости != одной свече.
и? а причем тут srgb? с ним как?

>Поэтому чтобы сложить два света тебе надо перевести их в линейное пространство
линейное пространство в данной модели как представлено?

ps. и самое главное вопросы такие же как у вар_зеса, зачем, какую проблему решает и т.д. Можно сказать, раз такие наивные вопросы, значит еще рано и не столкнулся с этой проблемой. Но просто в те же постоработках часто это присутствует,а что, зачем и почему непонятно.

#167
(Правка: 9:33) 9:33, 14 авг. 2019
n0th1ng
> аналгеометрия. Сказал бы мне кто тогда, что в основе рендеринга игр лежат
> матрицы

Это какой-то позор ... (c) Швондер

#168
9:43, 14 авг. 2019

forwhile
> эм? а могли диапазон до 65 536 увеличить и 16 бит?
Только памяти на это дело надо аж в 2 раза больше.

> то есть значение станет вещественным, и цвет будет не 127, а 0.5?
Я такого не писал, но в целом да, "растягивание" делают на нормализованном цвете.

> чего? как это вообще здесь появилось, после того как решили что все до единицы
Есть задача: запихнуть цвет в 1 байт на канал. 1 байт - это от 0 до 255. При наивном запихивании (наивном - это когда цвет 100 100 100 в 2 раза ярче чем 50 50 50) - получается слишком высокая точность в районе 255, и низкая точность в районе нуля.
Что ты предлагаешь делать?

#169
10:44, 14 авг. 2019

Назрел вопрос - если размеры входных png файлов различаются,
как лучше обрабатывать такую ситуацию?
Вижу такие варианты:
1. Выдать ошибку и прекратить дальнейшую обработку.
2. Установить размеры выходного dds файла равными размерам первого входного png файла,
остальные png файлы будут автоматически смасштабированы.
3. Установить размеры выходного dds файла равными размерам наибольшего входного png файла,
остальные png файлы будут автоматически смасштабированы.
4. Другие варианты?

#170
10:52, 14 авг. 2019

nes
Ты не сможешь корректно смасштабировать, если у пнг-шек разное соотношение сторон.

#171
10:53, 14 авг. 2019

Упс, не в ту тему запостил.

#172
11:06, 14 авг. 2019

nes
5. Дать пользователю выбор из первых 4-х, либо задать размер вручную

#173
12:26, 14 авг. 2019

MrShoor
> получается слишком высокая точность в районе 255, и низкая точность в районе
> нуля.
что значит точность?

#174
13:07, 14 авг. 2019

forwhile
> что значит точность?
представления градаций цвета, очевидно

#175
8:37, 15 авг. 2019

я выпиливаюсь из топика, это не для средних умов, каждые следующий ответ(если такие случаются) еще больше непонятен.

#176
9:06, 15 авг. 2019

forwhile

это вам не это

#177
(Правка: 9:16) 9:15, 15 авг. 2019

forwhile
если честно, то с таким подходом тебе вообще очень трудно будет в программировании. каждый раз, когда ты чего-то не понимаешь, надо не истерику закатывать, а гуглить, гуглить, гуглить, пока всё не станет понятно. человеческая помощь обычно нужна для разъяснения оставшихся противоречий, представления альтернативных интерпретаций и для заполнения оставшихся "пустот" в знаниях, ибо, задавая вопрос, ты уже должен был как минимум прочитать статью на википедии, итп.

#178
12:15, 15 авг. 2019

Кидали уже сюда?
https://habr.com/ru/post/353632/

Оригинал (на территории РФ может не работать, пользуйтесь прокси):
https://learnopengl.com/Advanced-Lighting/Gamma-Correction

#179
13:04, 15 авг. 2019

MrShoor
> Что ты предлагаешь делать?
32бита/канал, 21-ый век на дворе, чо там экономить 40мегабайт.

+ Показать
Страницы: 17 8 9 10 11 12
ПрограммированиеФорумГрафика