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