2012-01-31 5 views
9

Есть ли минимальный размер текстуры, который требуется определенному оборудованию для обеспечения соответствия спецификации OpenGL-ES 2.0?Минимальный размер текстуры для соответствия OpenGL-ES 2.0 на Android?

Что-то вроде значения GL_MAX_TEXTURE_SIZE должно быть не менее 1024 или 2048 или что-то в этом роде?

Причина, по которой я хотел бы знать это, заключается в том, что я работаю над тем, что использует шейдеры и как таковой должен быть OpenGL-ES 2.0. Поэтому я хотел бы сделать текстуры настолько большими, насколько это возможно, не учитывая все ограничения аппаратных текстур (например, старые телефоны с 512x512).

Если было минимальное количество (или определенное значение, которое поддерживает большинство устройств), это очень помогло бы мне.

ответ

11

Да, любая реализация GLES2 должна поддерживать по меньшей мере 64 пиксельных текстуры по ширине и высоте. Вы можете запросить фактический фактический максимальный размер текстуры с помощью функции glGetIntegerv с использованием перечисления GL_MAX_TEXTURE_SIZE.

См. Официальную страницу спецификации 141, таблица 6.20.

+2

Спасибо, я проверил его и нашел его по адресу http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf стр. 149, таблица 6.17, и это действительно говорит минимум 64 пикселя. Это просто немного смехотворное количество для моих нужд, и я думаю, мне просто нужно придерживаться минимальных текстур 1024 и надеяться, что это достаточно хорошо. – HardCoder

+0

Да, это та же спецификация, но более старая версия. Последнее - 2.0.25 от 2 ноября 2010 года. Но предел тот же. –

+3

Согласитесь с «HardCoder», это смешно. Любые мысли об этом? Например, на официальном сайте Android есть хорошая круговая диаграмма, показывающая распределение используемых в настоящее время версий Android. Есть ли аналогичная статистика по размеру текстуры? (и другая полезная информация) –

Смежные вопросы