iPhone, плавающие текстуры - PullRequest
       8

iPhone, плавающие текстуры

3 голосов
/ 06 сентября 2011

Мне нужно иметь GL_ RGBA32F в качестве внутреннего формата, но я не понимаю этого в реализации OpenGL ES.Вместо этого я получаю только GL_FLOAT в качестве типа данных текстуры.Спецификация OES_texture_float не имеет ничего общего с тем, что находится внутри.Так что я не знаю, будут ли мои данные текстуры нормализованы до [0, 1] или нет.В основном мне нужно хранить в текстуре незакрепленные данные текстуры, независимо от того, является ли это плавающим или целочисленным значением.Как я могу получить не нормализованные данные внутри моей текстуры?

1 Ответ

5 голосов
/ 06 сентября 2011

К сожалению, OpenGL ES обрабатывает параметры glTex (Sub) Image * иначе, чем OpenGL на рабочем столе.

В настольном OpenGL фактический формат текстуры определяет внутренний формат . В GL ES 2.0 это * значения формата и типа определяют это. Поэтому, если вы загрузите текстуру (GL_RGBA, GL_UNSIGNED_BYTE), это эквивалентно использованию GL_RGBA8 в качестве внутреннего формата.

Это означает, что если вы хотите использовать текстуру с плавающей точкой, вы используете (GL_RGBA, GL_FLOAT) в качестве параметров format и type . Это бессмысленное несоответствие между двумя спецификациями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...