iOS полноэкранное анимирование с помощью opengl es - PullRequest
0 голосов
/ 06 февраля 2012

Извините за мой плохой английский.

Я создал iPad в полноэкранном режиме размером 1024 * 768 * 4-байтовый буфер растрового изображения в памяти как внеэкранный буфер и 2 потока, один из которых обновляет буфер и вызывает executeSelector setNeedsDisplay в другом потоке, другой поток рисует весь буфер на экране в каждом цикле drawRect.

но этот путь слишком медленный. поэтому я хочу улучшить производительность, изменив ее на реализацию OpenGL ES 2.0.

Моя идея состоит в том, чтобы создать полноэкранную текстуру, используя CADisplayLink для запуска селектора drawView каждые 1/60 секунды, чтобы обновить текстуру в буфере памяти и нарисовать текстуру на экране. но я новичок в opengl-es, я знаю, как инициализировать простой EAGLLayer, создать текстуру из данных, но я не знаю, как нарисовать текстуру на виде, может ли кто-нибудь дать пример?

1 Ответ

1 голос
/ 07 февраля 2012

OpenGL ES 2.0 - это слишком много для простого рендеринга текстуры. OpenGL ES 1.1 достаточно. Использование шейдеров не означает, что это будет быстрее. Для создания полноэкранной текстуры используйте два треугольника с координатами от -1,0 до 1,0 и примените текстуру.

...