Я пишу приложение для Android, используя OpenGL ES 1.x, но мне бы хотелось получить ответы, которые включают устройства iOS и OpenGL ES 2.x.
Я запутался в том, должен ли я использовать GL_FLOAT или GL_FIXED, причем приоритетом является производительность в отношении операций GPU (нужно ли преобразовывать GL_FIXED и т.д. ex: GL_FIXED подходит ТОЧНО с той точностью, которая мне нужна, но если она преобразуется в float то использование его бессмысленно).
Эта книга, похоже, говорит, что ВСЕГДА предпочтительнее использовать GL_FIXED для вершин: "Основное исключение - с данными вершин, которые никогда не должны даваться в плавающей запятой..." Здесь (параграф прямо над субтитрами "Данные вершин" )
Но я видел, как другие говорят, что плавающая точка лучше.
Для всех устройств iOS GL_FIXED не имеет значения для выкупа. Это полезно для многих устройств Android нижнего уровня, у которых нет процессора с плавающей запятой, но устройства iOS всегда поставляются с полной поддержкой с плавающей запятой. В iOS данные FIXED преобразуются в Float32 до выполнения любой другой обработки. Я не знаю, что происходит для Android.