Выполняет ли glGenerateMipmap усреднение в линейном пространстве для текстур sRGB?

Спецификация OpenGL 3.3, похоже, не требует, чтобы генерация MIP-карт выполнялась в линейном пространстве. Все, что я могу найти, это следующее:

Все внутренние форматы производных массивов MIP-карт совпадают с форматами массива levelbase, а размеры производных массивов соответствуют требованиям, описанным в разделе 3.8.14. Содержимое производных массивов вычисляется повторным фильтрованным сокращением массива levelbase. Для одномерных и двумерных массивов текстур каждый слой фильтруется независимо. Никакого конкретного алгоритма фильтрации не требуется, хотя в качестве фильтра по умолчанию рекомендуется использовать коробчатый фильтр.

Я понимаю, что результат вызова glGenerateMipMap находится в sRGB, если исходное изображение находится в sRGB, и у меня нет проблем с этим. Но что происходит между ними? Конечно, мы не хотим усреднять цвета, находящиеся в логарифмической шкале. Это зависит от реализации?


person Niriel    schedule 12.03.2014    source источник
comment
Я просто хотел бы отметить, что моя карта AMD Radeon HD 7950, кажется, не делает этого в линейном пространстве. Это может быть проблема с драйвером. Чтобы быть в безопасности, я генерирую свои MIP-карты на процессоре для текстур sRGB.   -  person rdb    schedule 08.10.2014


Ответы (1)


Соответствующий ответ можно найти в разделе 3.8.17 спецификации OpenGL:

3.8.17 Преобразование цвета текстуры sRGB

Если внутренний формат текущей привязанной текстуры является одним из SRGB, SRGB8, SRGB_ALPHA, SRGB8_ALPHA8, COMPRESSED_SRGB или COMPRESSED_SRGB_ALPHA, красный, зеленый и синий компоненты преобразовываются из цветового пространства sRGB в линейное цветовое пространство как часть фильтрации. описано в разделах 3.8.11 и 3.8.12. Любой альфа-компонент остается неизменным. В идеале реализации должны выполнять это преобразование цвета для каждого образца перед фильтрацией, но реализации разрешены.

Генерация MIP-карт описана в разделе 3.8.11 и, следовательно, подлежит линеаризации цветового пространства.

person datenwolf    schedule 12.03.2014