Size: a a a

pro.graphon (and gamedev)

2020 April 21

AM

Aleksey Muravev in pro.graphon (and gamedev)
Lain-dono
Ну а мне нужно не как ты, а корректно в моём контексте
По хорошему для освещения и т.п. всё должно быть в линейном. Ты попробуй гуй считать в линейном и проверь, как оно после гамма коррекции. Ну и будь уверен, что всё на входе в линейном. Если нет, то переводи в линейное всё.
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Вот hex-color в CSS это какое пространство?
Если это цвет чего-нибудь в HTML — то, которое у монитора, что-то более-менее близкое к sRGB
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Lain-dono
А вот тут я врубил фреймбуфер в sRGB
Ты гамма коррекцию не делал?
источник

d

disba1ancer in pro.graphon (and gamedev)
Lain-dono
А вот тут я врубил фреймбуфер в sRGB
В общем то тебе уже всё объяснили, но скажу по своему, если включил фреймбуфер в srgb то и всё текстуры что идут на входе тоже должны быть с подобным флагом чтобы они из srgb в линейную гамму переводились
источник

d

disba1ancer in pro.graphon (and gamedev)
Просто цветов тоже касается
источник

L

Lain-dono in pro.graphon (and gamedev)
Aleksey Muravev
Ты гамма коррекцию не делал?
Я могу её сделать. Просто нагуглив магических констант. Но я хочу понимать, правильно ли я это делаю.
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Lain-dono
Я могу её сделать. Просто нагуглив магических констант. Но я хочу понимать, правильно ли я это делаю.
Её всегда надо делать перед выводом. Если у тебя там было в линейном.
источник

d

disba1ancer in pro.graphon (and gamedev)
Aleksey Muravev
Её всегда надо делать перед выводом. Если у тебя там было в линейном.
Не надо если фреймбуфер srgb
источник

d

disba1ancer in pro.graphon (and gamedev)
Но у меня на шинтеле эта фишка не работала с экранным буфером
источник

L

Lain-dono in pro.graphon (and gamedev)
Aleksey Muravev
Её всегда надо делать перед выводом. Если у тебя там было в линейном.
В том то и дело, что не совсем всегда. Может быть перед тем, как я градиент генерю. А может и после, хз.
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
disba1ancer
Не надо если фреймбуфер srgb
Я из головы сейчас всё. Могу где-то спутать
источник

d

disba1ancer in pro.graphon (and gamedev)
Lain-dono
В том то и дело, что не совсем всегда. Может быть перед тем, как я градиент генерю. А может и после, хз.
Зависит от того какой ты хочешь градиент получить
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
disba1ancer
Не надо если фреймбуфер srgb
Вот да. Не использовал. Банальный pow(1/2.2) у меня)
источник

d

disba1ancer in pro.graphon (and gamedev)
Aleksey Muravev
Вот да. Не использовал. Банальный pow(1/2.2) у меня)
Pow тоже не правильно
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
disba1ancer
Pow тоже не правильно
Я знаю, но мне хватает на данный момент
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
float SRGBlinearApprox ( float value ) {
    return value * ( value * ( value * 0.305306011 + 0.682171111 ) + 0.012522878 );
}

ещё можно так :)
источник

L

Lain-dono in pro.graphon (and gamedev)
Timur Gagiev
float SRGBlinearApprox ( float value ) {
    return value * ( value * ( value * 0.305306011 + 0.682171111 ) + 0.012522878 );
}

ещё можно так :)
Мне разобраться надо, а не магических констант в код насыпать
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Можно ещё юзеру дать гамма ползунок
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Lain-dono
Мне разобраться надо, а не магических констант в код насыпать
так я не для тебя ;)
источник

L

Lain-dono in pro.graphon (and gamedev)
Aleksey Muravev
Можно ещё юзеру дать гамма ползунок
Лол
источник