Лучший способ перевернуть CAEAGLLayer для презентации в OpenGL ES 2 - PullRequest
2 голосов
/ 12 февраля 2011

Open GL ES координаты перевернуты по оси Y по сравнению с iOS.Сохранение данных через glreadpixels (в видео) дает мне правильное преобразование, но отображение в UIView переворачивает ось y.Каков наилучший способ перевернуть его для презентации?

Пока я вижу три способа:

1) Рендеринг дважды в opengl, отправка не перевернутой версии в glreadpixels иперевернутая версия в CAEAGLLayer (presentRenderbuffer).

2) Переверните пиксели в opengl, чтобы он отображался правильно;как только я прочитал их с помощью glreadpixels, сдвиньте биты и сохраните их в файл.

3) Отразить пиксели в opengl, чтобы он отображался правильно;примените некоторый тип преобразования к самому видео (вызывая его переворачивание во время воспроизведения).

Я не уверен, что какой-либо из этих путей является правильным.Ищете наиболее эффективный путь.

Ответы [ 2 ]

4 голосов
/ 12 февраля 2011

Просто примените преобразование к UIView, чтобы перевернуть его.Например:

view.transform = CGAffineTransformMakeScale(1.0, -1.0);
0 голосов
/ 09 марта 2011

Похоже, лучше всего использовать перевернутые вершины в opengl.

...