Sun + Sky + Gamma 2.2 + Physical Camera, Все что надо знать про гамму! |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
Sun + Sky + Gamma 2.2 + Physical Camera, Все что надо знать про гамму! |
01/07/2007, 15:36
Сообщение
#1
|
|
Дельфин :) Группа: Участник Сообщений: 5 488 Регистрация: 06/08/2003 Из: Chelyabinsk Пользователь №: 3 088 |
Ничего нового не пишу, просто обобщаю и систематизирую всё, о чем писалось на этом форуме и привожу свои примеры. Иначе гаммафрения никогда не кончится Хотя... наверно и после этого топика мало что измениться...
QUOTE Puppet Рассмотрим гамму на примере обычного линейного черно-белого градиента. На экране монитора градиент для глаза выглядит не линейно, если быть более точным в темных тонах мало деталей, а на свету много. Если рендерить картинку, то будет много темных мест и их придеться подсвечивать, хотя такого быть не должно. Чтобы этого избежать, чтобы градиент выглядел линейным для глаза, тоесть имел одинаковое количество деталей и в тенях и на свету нужно изогнуть кривую градиента, тоесть сделать его не линейным с математической точки зрения, но линейным для человеческого глаза. Для этого используется гамма коррекция. Для PC мониторов гамма должна быть установлена 2.2, для других мониторов это число может быть другим. Приведу небольшой пример... Это обычный диффузный шарик с одним источником света. Слева гамма 1.0, справа гамма 2.2, а в центре фото. Разумеется это приблизительно, но разница и смысл думаю понятен. Следует заметить, что освещение в сцене с гаммой 2.2 настраивать как то проще и быстрее. Ну, все вроде кажется просто, включаем гамму и вперед. Но тут есть небольшая проблема касающаяся текстурных файлов... Ведь если просто перед записью результата пикселя применять гамма коррекцию к пикселу(это происходит во время рендера), то текстуры которые нас до этого устраивали по цвету, станут просто значительно светлее. Соответственно все текстуры, чтобы они выглядели как в оригинале должны быть сгаммакорректированы в обратную величину, тоесть 1/2.2 = 0,4545454545. В итоге текстура станет темнее чем в оригинале, но во время рендера 0,45 умножится на 2.2 и получится 1, тоесть текстура будет выглядит как в оригинале. Некоторые рендера (например ментал) делают обратную гамма коррекцию для текстур автоматически не видимо для пользователя. Этого не далает, например, prman и каждый фаил нужно пропустить через ноду гамма коррекции со значением 0,4545454545. Но даже если ваш рендер делает это автоматически следует знать что все таки происходит чтобы не было недопонимая и не понятных рельтатов. Вобщем все рендера тут работают по разному, надо проверять. Макс, например, насколько я знаю хорошо работает с гаммой, он даже показывает гамму в материал эдиторе, а вот например мая в гипершейде всегда отображет превью шейдеров с гаммой 1.0 sad.gif В слиме нужную гамму можно установить вручную. То что в максе называется Input Gamma и Output Gamma, это как раз гамма для файловых текстур. Если у вас текстура нарисована линейно для глаза, ну тоесть так как мы ее должны видеть на рендере, то значит она уже в гамме 2.2, ставим Input Gamma 2.2, Output Gamma'у ставим так же в 2.2. В итоге если эти значения одинаковые то текстуры останутся такими какими мы их рисовали. (про output gamma далее есть уточнения) Еще раз про 32 bit float... Когда мы рендерим в обычный 8 или 16 битный формат, то гамма коррекция применяется сразу на рендере. А вот если рендерить в 32 bit float point или 16 bit half float, то подразумевается что гамма коррекция будет применена после вручную на композе. С обычными 8 и 16 битными форматами так не делается потому что, диапазон таких картинок не большой и при гамма коррекции потеряется много данных (и будут заметые артефакты!) . В случае с 32 битными картинками потери будут не такими значительными и не заметными для глаза. Вообще гамма 2.2 облегчает настройку освещения. Теоретически гамма 2.2 должна была бы стать дефолтной для всех софтов и это было бы логично, но почему то этого не случилось, уж не знаю почему... Ну вобщем я тут все кратко описал, но все это рекомендую прочитать очень внимательно и попробовать, чтобы понять зачем все это. В инете можно найти много материала по теме гамма коррекции. Вот, например, одна из ссылок, больше для художников: http://throb.net/site_main/LinearWorkflow.html Вот еще очень хорошая линка: http://mysite.verizon.net/spitzak/conversion/index.html P.S. Я тут немого напутал с терминологией Прошу не путать... То что 2.2 это gamma, а 0,45 (обратная gamma) это gamma correction Теперь после теории перейдем к практике. Вот сценка и пример рендера с гаммой 1. Освещение - Sun + Sky + physical camera. Шумно, темно и пересвечено. Включаем кнопочку SRGB, чтоб посмотреть как это будет выглядеть в гамме 2.2 другое дело - стало светлей и видно темные области, но вся картинка выбеленная - нам нужно подкорректировать текстуры, чтоб он стали темней. Идем в настройки и включаем все как на картинке: Рендерим: так гораздо лучше, но шум все равно есть. почему? из-за значений noise thresh в QMC sampler'e, т.к. (при выключенной кнопке SRGB) значения шума укладываются в noise thresh и дополнительных сэмплов антиалиасинга vray не делает, а как только мы включаем гамма-коррекцию во вьюпорте (SRGB), то сразу видим шум в темных участках. Выход есть - включать гамму в color mapping'e. Смотрим настройки на картинке: noise thresh = 0.05 - для скорости рендера. Установим Gamma = 2.2. Sub-pixel mapping нужен для того, чтобы на мелких объектов не возникало "выгоревших пикселов" - отдельных ярких точек, в этом случае колор-маппинг применяется ко всем сэмплам в пикселе. Выключаем кнопку SRGB и рендерим: шума стало гораздо меньще, чем на первой картинке, т.к. color mapping примеятся во время рендеринга, а не после и время рендера немного возросло. В принципе все, можно еще сделать картинку немного ярче, повысив burn = 1.5 Срваните что было и что стало. Никакого гемороя с настройкой света, экспозицией и пр. ерундой. Все просто В качестве освещения использовались VraySun + VraySky, sun mult. = 1, камера - vray physical camera. И никакого шаманства. Использовать максовскую камеру не стоит ни в коем случае. Осается понизить noise thresh = 0.01 и сделать финальный рендер: PS Как видно из примера - ничего больше крутить не надо, хотя можете попробовать. Output gamma влияет на гамма-коррекцию картинки при записи в файл, если у вас нормальная гамма в фрей-буфере, то НЕ НАДО ставить Output gamma = 2.2. Про кнопочку SRGB можно забыть. Уф, умаялся... Теперь точно всё Финальная сценка тут. Сообщение отредактировал mentor - 01/07/2007, 16:00 |
|
|
01/07/2007, 16:33
Сообщение
#2
|
|
Дельфин :) Группа: Участник Сообщений: 5 488 Регистрация: 06/08/2003 Из: Chelyabinsk Пользователь №: 3 088 |
Да, совсем забыл, если юзать гамма-коррекцию в vray color mapping, то render elements при сборки н-р во Фьюжене дают другой, неправильный результат, непохожий на то, что мы видим в максе во фреймбуфере... Получается что каждый пасс по-своему колор-маппиться и в итоге получается фигня. Приходиться рендерить с vray gamma = 1 в OpenEXR 32-bit и в композе уже ставить нужную гамму, понижая noise thresh чтоб не шумело.
|
|
|
01/07/2007, 17:26
Сообщение
#3
|
|
Мастер Группа: Участник Сообщений: 1 101 Регистрация: 24/05/2003 Пользователь №: 2 308 |
еще хотелось_бы уточнить! все эти манипуляции с гаммой нужно делать в "новой, чистой" сцене.
вот у меня к примеру при загрузке макса грузится моя сценка настроенная maxstart.max (со старыми настройками, пресета для быстрого рендера), так вот, намучался я при изменении оутпут гаммы ВО ВЬЮПОРТЕ ничего не менялось, что завело меня в заблуждение... после ресета настоек все пришло в норму... кароче! все делаем в чистой сцене. |
|
|
01/07/2007, 17:33
Сообщение
#4
|
|
Дельфин :) Группа: Участник Сообщений: 5 488 Регистрация: 06/08/2003 Из: Chelyabinsk Пользователь №: 3 088 |
output gamma на вьюпорт и не должна влиять
Сценки в 9-м Максе!!! Сообщение отредактировал mentor - 01/07/2007, 17:41 |
|
|
01/07/2007, 21:27
Сообщение
#5
|
|
Учитель Группа: Пользователи Сообщений: 335 Регистрация: 14/03/2005 Из: Moscow Пользователь №: 11 301 |
Мои поздравления
Гамма это просто! Только одно: "Использовать максовскую камеру не стоит ни в коем случае." это почему? Значение Multiplier в Reinhard полный аналог выдержки в PhisCam, просто выраженый в других величинах |
|
|
01/07/2007, 21:44
Сообщение
#6
|
|
Дельфин :) Группа: Участник Сообщений: 5 488 Регистрация: 06/08/2003 Из: Chelyabinsk Пользователь №: 3 088 |
2 Yoyohansen
щас про начнется флуд про max camera & Vray physical camera на 70 страниц Просто с Vray physical camera все несравненно проще и удобней, она для того и сделана, ведь так? |
|
|
02/07/2007, 06:36
Сообщение
#7
|
|
Ядро 1-сорт Группа: Пользователи Сообщений: 4 068 Регистрация: 01/10/2005 Из: Moscow Пользователь №: 16 680 |
в этом workflow есть глюк:
копия фреймбуфера отличается от самого фреймбуфера на величину гаммы. |
|
|
02/07/2007, 06:50
Сообщение
#8
|
|
Магистр наук Группа: Пользователи Сообщений: 1 615 Регистрация: 20/11/2006 Из: планета Земля, континент Евразия, страна Россия, Сибирь, г. Омск Пользователь №: 40 510 |
QUOTE а как только мы включаем гамма-коррекцию во вьюпорте (SRGB), обчепятка - не во вьюпорте, а в VFB, виртуальном буфере кадров |
|
|
02/07/2007, 09:05
Сообщение
#9
|
|
"Добрый" Группа: Модераторы Сообщений: 4 033 Регистрация: 19/09/2002 Из: Almaty Пользователь №: 767 |
Тема прикрепленная, поэтому поменьше флуда. Благодарности пишите ему на почту или в PM.
|
|
|
02/07/2007, 09:12
Сообщение
#10
|
|
*** Группа: Участник Сообщений: 2 676 Регистрация: 05/08/2004 Пользователь №: 6 891 |
чтобы скопировать буфер для сравнения я пользуюсь достаточно странным методом, но это работает 100% Просто аквтивирую временно curve в VFB и там загружаю эту обратную курву, которая вьюпорт приводит как бы к гамме 1, копия становится нужной, невысветленной, потом для последующего рендера просто отжимаю обратно кнопку активности curve in VFB - вот и всё - думаю в 1.5 будет inverse sRGB - ну или нечто подобное
PS:Кстати, вот фраза из хелпа от 12 мая 2005 года про ColorMapping: Gamma - this parameter allows the user to control the gamma correction for the output image regardless of the color mapping mode. Note that the value here is the inverse of the one used for the Gamma correction color mapping type. For example, to correct the image for a 2.2-gamma display, you should set the Gamma parameter simply to 2.2. Это для тех кто думает что в колормапинге некорректно выставлять гамму 2.2 - а такие персонажи до сих пор есть, поверьте. Сообщение отредактировал triar - 02/07/2007, 09:28
Прикрепленные файлы
|
|
|
03/07/2007, 12:06
Сообщение
#11
|
|
Учитель Группа: Пользователи Сообщений: 384 Регистрация: 09/02/2006 Пользователь №: 22 915 |
Для тех кто любит линейку доводить до ума за пределами вирея.
Можно выводить канал вирея vray unclanpedcolor Во первых сохраняется актуальность кнопки sRGB, незнаю хорошо это или плохо Во вторых например в формате опен ЕХР сохраняется сразу как надо, тоесть последующей гамма коректировки не требуется |
|
|
03/07/2007, 12:37
Сообщение
#12
|
|
Магистр наук Группа: Пользователи Сообщений: 1 615 Регистрация: 20/11/2006 Из: планета Земля, континент Евразия, страна Россия, Сибирь, г. Омск Пользователь №: 40 510 |
Угу. Как вариант - сохраняем в Radiance Image File - HDRI, то бишь, в режиме Use Non-Clamped (Real Pixel Color), а далее в фотошопе крутим как хотим и что хотим (гамму, экспозицию). Примечание - если сохранять сразу в HRDI-файл, то насторойки экспозиции Physical Camera не действуют. ...........
Вобщем, это способ на любителя. Далеко не всем нравится. |
|
|
03/07/2007, 23:54
Сообщение
#13
|
|
Рыцарь форума Группа: Пользователи Сообщений: 1 962 Регистрация: 29/04/2006 Пользователь №: 30 588 |
Чуть дополню,
практически нигде явно не упоминается о том, что цвета вводимые в материал эдиторе подразумеваются с гаммой равной единице и пипеткой их из простого "жипега" брать не совсем корректно (т.к. он с гаммой 2,2). Вот некоторые утилиты направленные на решение этого вопроса: )
Можно в диалоге сохранения изображения поставить галочку exponent в значение 0,455. Сообщение отредактировал alex_g - 03/07/2007, 23:59 |
|
|
04/07/2007, 09:27
Сообщение
#14
|
|
Дельфин :) Группа: Участник Сообщений: 5 488 Регистрация: 06/08/2003 Из: Chelyabinsk Пользователь №: 3 088 |
QUOTE Можно в диалоге сохранения изображения поставить галочку exponent в значение 0,455. Это не помогает, в доках написано, что для композинга надо рендерить в линейном цвете, т.е. без гаммы. |
|
|
05/07/2007, 00:31
Сообщение
#15
|
|
Рыцарь форума Группа: Пользователи Сообщений: 1 962 Регистрация: 29/04/2006 Пользователь №: 30 588 |
да, точно, чушь написал
Но все равно информация полезная ) кстати про композ, можно и с гаммой 2,2 "отогнать" а потом править.. не все каналы меняются (см. атач), остается это автоматизировать
Прикрепленные файлы
|
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 25/04/2024 - 02:46 |