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

RGBA32F/RGBA1F/R11F_G11F_B10F Color banding artifacts [WebGL]

#0
19:47, 9 авг 2019

Рендерю HDR цвет в атачменты с форматами из списка RGBA32F/RGBA1F/R11F_G11F_B10F, после вывожу на экран на этапе пост процессинга. Получаю отвратительный артефакт - "color banding" как на скринах ниже.

Color banding artifact #0 | RGBA32F/RGBA1F/R11F_G11F_B10F Color banding artifacts [WebGL]

Color banding artifact #2 | RGBA32F/RGBA1F/R11F_G11F_B10F Color banding artifacts [WebGL]

Color banding artifact #1 | RGBA32F/RGBA1F/R11F_G11F_B10F Color banding artifacts [WebGL]

Как решить проблему? Спасибо.

#1
20:21, 9 авг 2019

Алмаз
> Как решить проблему?
Dithering.
Но при таких диких хроматических аберрациях не уверен что проблему нужно вообще решать. Никто не заметит color banding

#2
20:25, 9 авг 2019

Хотя разница между переходами больше 1. Скорее всего dithering не поможет. Ты просто потреял точность где-то раньше. Например хранил промежуточные значения в RGBA8 текстуре в линейном диапазоне.

#3
14:59, 12 авг 2019

MrShoor
Промежуточные значения хранятся в формате R11F_G11F_B10F. Я нашёл решение - результат тональной компрессии храню в sRGB и уже в следующих проходах конвертирую обратно. Спасибо за помощь.

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

Тема в архиве.