Да, вы не первый человек, который заметит это . :) С сегодняшними высококонтрастными коэффициентами 8 бит на компонент недостаточно для получения плавного градиента без видимых полос - если только не используется сглаживание.
Использование более 8 бит на канал на дисплее называется « глубоким цветом » изготовителями дисплея. Это не очень широко распространено из-за проблемы курицы и яйца. Глубокий цветной дисплей бесполезен без видеокарты, которая может выводить глубокие цвета, и игрового движка, который поддерживает рендеринг в глубокие цвета. Кроме того, нет никакого смысла в игровом движке или видеокарте, которая поддерживает глубокие цвета без дисплея. Таким образом, у производителей оборудования и разработчиков игр нет особого стимула добавлять поддержку этой технологии, так как с обеих сторон нет рынка, который оправдывал бы стоимость разработки.
Кроме того, существуют другие способы исправить полосу из-за ограниченной 8-битной точности. Как я упоминал ранее, игровые движки могут использовать дизеринг, чтобы скрыть полосу.
(Изображение кота с 256-цветовой палитрой, без и с размытием. Создано пользователем Wikipedia Wapcaplet , используется по лицензии CC-By-SA 3.0 .)
Добавление небольшого сглаживания ± 0,5 / 255 перед записью значения пикселя в буфер кадров чрезвычайно эффективно при скрытии полос на плавных градиентах и по существу незаметно. Если вы работаете с движком HDR, вы делаете это на этапе создания тональной карты.
Наконец, как уже отмечали другие, сжатие текстур может быть большим источником полосообразных артефактов в изображении, чем 8-битная точность. Это может быть то, что происходит с небом на этом изображении, хотя трудно сказать - в нем столько сжатия JPEG, что любые артефакты из-за сжатия DXT в значительной степени затоплены.