Работа GPUImage с другим контекстом OpenGL не удалась

В моем проекте я получаю непрозрачную структуру фильтра, основанную на GPUImage. Я хочу создать приложение, которое может иметь видеовызов, как FaceTime, поэтому я использую эту структуру фильтров, предоставленную OpenGL ViewA, для рендеринга изображения с камеры, используя мой собственный openGL viewB для рендеринга удаленного видеопотока. теперь у меня проблема. viewA нерегулярно отображал содержимое viewB. особенно, когда изменился кадр представления A. вот так: введите здесь описание изображения формат пикселей удаленного видео — I420, а формат пикселей локального видео — NV12. так что технически viewA не может отображать содержимое viewB. Как видите: viewA показывает серое изображение viewB. Я предполагаю, что viewA каким-то образом получает плоские данные Y viewB. когда viewA показывает серое изображение, частота кадров сильно замедляется. поскольку viewA принадлежит непрозрачной структуре, я могу управлять только собственной частью рендеринга OpenGL viewB. Я не знаю, как решить эту ошибку. Скорее всего, два EAGLContext конфликтуют, или viewA и viewB каким-то образом совместно используют буфер рендеринга/текстуры? Кто-нибудь, пожалуйста, помогите мне. Я борюсь с этим несколько дней.


person ooOlly    schedule 27.09.2016    source источник


Ответы (1)


Оказалось, что к этой проблеме приводит запутанное управление контекстом OpenGL.

person ooOlly    schedule 02.03.2017