Скалярное значение - ргб интенсивность

Автор
Сообщение
Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса

Кто-то думал как корректно перевести значение из параметров шейдера от 0 до 1 в интенсивность цвета, когда нужна текстура? 0.4 в спекуляре - какой цвет в ргб?

102 написал и понял как обычно

Возраст: 36
Пол: М
На сайте c: 25.10.2011
Сообщения: 918
Откуда: Пенза
для 8 бит на канал: 0.4*256-1=101.4 округляем до целого 101, значит, в RGB это будет серый 101 101 101
Возраст: 37
Пол: М
На сайте c: 06.08.2013
Сообщения: 1790
Откуда: Москва
Mo..., про гамму еще не забудь, если она есть.
Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса
Цитата red-rimm:
для 8 бит на канал: 0.4*256-1=101.4 округляем до целого 101, значит, в RGB это будет серый 101 101 101

Про минус один также думал, потому что ноль - натуральное число в этой системе

Цитата irishman:
Mo..., про гамму еще не забудь, если она есть.

Гамма одинаковая, но немного отличается. Может, потому что брал пипеткой с монитора, цвет изменился

https://3ddd.ru/forum/thread/show/sozdanie_odnotonnykh_tekstur_po_materialu 

Возраст: 37
Пол: М
На сайте c: 06.08.2013
Сообщения: 1790
Откуда: Москва
Цитата red-rimm:
для 8 бит на канал: 0.4*256-1=101.4 округляем до целого 101, значит, в RGB это будет серый 101 101 101

странная арифметика. 0,4*255 надо, откуда -1? 0 это тоже число. 102 ровно будет.

Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса
Цитата irishman:

странная арифметика. 0,4*255 надо, откуда -1? 0 это тоже число. 102 ровно будет.

В западной системе исчислений, ноль - натуральное число. По-этому, счёт идёт с нуля. Цветовой диапазон 0-255, а не 1-256. По-этому, минус 1

Возраст: 37
Пол: М
На сайте c: 06.08.2013
Сообщения: 1790
Откуда: Москва
Цитата Mo...:
Цитата irishman:

странная арифметика. 0,4*255 надо, откуда -1? 0 это тоже число. 102 ровно будет.

В западной системе исчислений, ноль - натуральное число. По-этому, счёт идёт с нуля. Цветовой диапазон 0-255, а не 1-256. По-этому, минус 1

там скобки нужны и будет 102 ровно, в врайколор мапе проверь.

256 это количество вариантов цвета или символов в 1 байте, включая 0

Возраст: 37
Пол: М
На сайте c: 24.05.2009
Сообщения: 7479
Откуда: Одесса
А разве сильно разница будет 101 и 102 или это больше вопрос принципа?
Возраст: 36
Пол: М
На сайте c: 25.10.2011
Сообщения: 918
Откуда: Пенза
Цитата irishman:
там скобки нужны и будет 102 ровно, в врайколор мапе проверь. 256 это количество вариантов цвета или символов в 1 байте, включая 0

Да, все верно, 256 - это количество вариантов цвета в диапазоне [0..255]

Умножаем именно на 256, ведь именно это - число градаций цвета. Умножив на 256 мы получаем номер нужной нам ступени. А единицу отнимаем уже от произведения, что бы получить числовое значение этой ступени, скобки тут не нужны. Числовое значение ступени №1 = 0 (полностью черный), числовое значение ступени №256 = 255 (полностью белый), т.е. имеет место смещение номера относительно значения на 1, поэтому отнимаем именно единицу.

Но все это не стоит того, и эта единица в данном случае не играет значимой роли. Я и сам всегда на 256 умножаю и не парюсь, или на 255 - куда палец упадет.

upd всё-таки неправ я со своей формулой. Умножать надо на 255. Ведь числовому промежутку от 0 до 1 мы должны поставить в соответствие числовой промежуток от 0 до 255

Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса
Цитата grdesigner:
А разве сильно разница будет 101 и 102 или это больше вопрос принципа?

Тут вопрос про то как программы работают

Возраст:
Пол: М
На сайте c: 25.02.2009
Сообщения: 2130
Откуда: Липецк projectbp.ru

Цитата Mo...:
Тут вопрос про то как программы работают

Это кстати куда важнее самих цифр. С немалой долей вероятности РГБ нелинейное в 3Д программах да и браузерах.

Тот же Blender условно нейтрально серый цвет #DDD трактует как RGB (0,723,0,723,0,723), а вовсе  не как (0.128,0.128,0.128) Думаю везде так.

Вот портянка на эту тему. Где-то ещё что-то попадалось. Если найду - дополню

Вот ещё прстыня.
Но, думаю, на глаз правильней. Потому что в итоге воспринимается как нра/ненра, а не какие-то там цифры. Пусть программа сама переваривает.

Возраст:
Пол: М
На сайте c: 23.02.2010
Сообщения: 4376
Откуда: Ростов Папа
Цитата Mo...:
Тут вопрос про то

 У вас столько всяких вопросов было, но не разу не возникло вопроса о правилах создания новой темы и её уместности.

Скоро половина форума, через тему будут ваши, неужели нет соответствующих разделов, где можно задавать вопрос.  

 Там бедный колокольчик уже весь язычок стёр. 

Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса

Цитата irishman:
Mo..., про гамму еще не забудь, если она есть.

Твоя правда. При выборе цвета на разных гаммах разная светлость серого. Какую гамму использовать для определения такого цвета?

Пробовал sRGB и RAW . Цвета отличаются

Почему-то созданная текстура отличается от параметра в шейдере. Перемножал (256*значение от 0 до 1) . Гамма не та?

Возраст: 34
Пол: М
На сайте c: 25.02.2009
Сообщения: 2302
Откуда: Kyiv
Цитата Mo...:
Какую гамму использовать для определения такого цвета?

Если это цвет, то sRGB. Если параметр то Linear.

Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса
Цитата Skorpionchik:

Если это цвет, то sRGB. Если параметр то Linear.

Я думал гамма "Raw". Её часто используют на видео

В Майе несколько гамм линеар. Выставляются к каждому изображению отдельно. Про эти виды гамм известно что-то?

Возраст:
Пол: М
На сайте c: 15.08.2021
Сообщения: 504
Откуда:

На ютюбе полно роликов.

Raw - это исходное изображение без коррекций, как и в случае с фото.

Rec 709/srgb - это стандарт для мониторов.

По остальным на ютюбе есть (теория цвета, цветовой охват монитора).

Возраст: 37
Пол: М
На сайте c: 06.08.2013
Сообщения: 1790
Откуда: Москва
Цитата Mo...:
Почему-то созданная текстура отличается от параметра в шейдере. Перемножал (256*значение от 0 до 1) . Гамма не та?

чтобы перевести 102 в цвет без гаммы 2.2, надо сначала перевести 102 во флоат, дальше извлечь из полученного флоата корень степени 0,45 и обратно помножить на 255.

это если ты снимаешь цвет пипеткой, а он в сргб.

Возраст:
Пол: М
На сайте c: 02.10.2015
Сообщения: 1361
Откуда: Одесса
Цитата irishman:
это если ты снимаешь цвет пипеткой, а он в сргб.

Пипеткой получается довольно точно. Но скалярные значение (от 0 до 1) надо переводить

Возраст: 32
Пол: М
На сайте c: 25.05.2015
Сообщения: 742
Откуда: Красноярск

опять в с этими битмапами, 3 года назад вроде выяснили всё

https://3ddd.ru/forum/thread/show/displacement_1#post1289292 

там помимо гаммы еще S-образная  вместо прямой в разном софте в разных  режимах,  короче точности добиться это надо постараться. Надо проверять всё...

а float 0.5 в 8bit не получить, там аккурат между int 127 и 128.

Цитата CGCat:
Raw - это исходное изображение без коррекций, как и в случае с фото.

вообще не факт, там сжатие бывает и оно бывает  разных видов.

Цитата irishman:
извлечь из полученного флоата корень степени 0,45

0.45454545))

Возраст: 37
Пол: М
На сайте c: 06.08.2013
Сообщения: 1790
Откуда: Москва
Mo..., какой там цвет во флоате? залей в шопе так

Читают эту тему: