Как я могу правильно отобразить png с градиентом, используя OpenGL ES на iPhone? - PullRequest
0 голосов
/ 26 июня 2009

Я пытался использовать pngs с градиентами в качестве текстур в моей игре для iPhone на базе OpenGL ES. Градиенты нарисованы неправильно. Как я могу это исправить?

Под "не нарисованным правильно" я подразумеваю, что градиенты не являются плавными и, по-видимому, ухудшаются до участков определенного цвета, а не плавного перехода.

1 Ответ

1 голос
/ 29 июня 2009

Основная проблема - слишком мало битов RGB в вашей текстуре или (менее вероятно) буфере кадров. Файл PNG не будет использоваться графическим оборудованием напрямую - его необходимо преобразовать во внутренний формат. Я не знаю API OpenGL ES, но, вероятно, вы либо передаете ему файл .PNG напрямую, либо сначала делаете какой-то шаг преобразования и передаете преобразованные данные в Open GL ES. В любом случае обратитесь к соответствующей документации, чтобы убедиться, что используемый внутренний формат имеет достаточную глубину. Например, будет достаточно 256-цветного изображения с палитрой, как 24-битный RGB или 32-битный формат RGBA. Я сильно подозреваю, что ваш PNG конвертируется в RGB15 или RGB16, который имеет только 5 или 6 бит на компонент цвета - недостаточно для отображения плавного градиента.

...