2016-09-27 1 views
0

내 프로젝트에서 GPUImage을 기반으로하는 불투명 필터 프레임 워크가 생깁니다. 응용 프로그램을 만들려면 FaceTime과 같은 비디오 호출을 할 수 있습니다. OpenGL ViewA에서 제공된 필터 프레임 워크를 사용하여 카메라 이미지를 렌더링하고, 내 자신의 openGL을 사용하여 viewB 원격 비디오 스트림을 렌더링합니다. 이제 문제가 발생합니다. viewAviewB의 내용을 불규칙하게 보여줍니다. 특히 viewA의 프레임이 변경된 경우은 다음과 같습니다. enter image description here 원격 비디오 픽셀 형식은 I420이고 로컬 비디오 픽셀 형식은 NV12입니다. 따라서 기술적으로 viewAviewB의 콘텐츠를 렌더링 할 수 없어야합니다. 보시다시피 viewAviewB의 회색 이미지를 표시합니다. 나는 어떻게 든 viewB의 Y 평면 데이터를 얻으려고 viewA라고 가정합니다. viewA가 회색 이미지를 표시하면 프레임 속도가 크게 느려집니다. viewA이 불투명 한 프레임 워크에 속하기 때문에 자신 만의 OpenGL 렌더링 부분 인 viewB 만 제어 할 수 있습니다.이 버그를 해결하는 방법을 모르겠습니다. 두 EAGLContext가 충돌 할 가능성이 가장 높거나 viewAviewB이 렌더링/텍스처 버퍼를 어떻게 든 공유 했습니까? 누구든지, 제발 도와주세요. 나는 며칠 동안 고생하고 있습니다.다른 OpenGL 컨텍스트에서 GPUImage 작업이 실패했습니다

답변

0

OpenGL 컨텍스트가 관리를 혼란시키는 결과가 발생합니다.