Android Studio SDK의 ARCore에 소벨 가장자리 감지와 같은 필터를 추가하려고합니다. ARCore Android Studio 카메라보기에 필터 추가
현재 나는 glsurfaceview에서 이미지를 모든 프레임을 읽을 수GLES20.glReadPixels(x, y, w, h, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, intBuffer);
를 사용하여 GPU-이미지 안드로이드를 사용하여 필터를 추가하고 있습니다.
하지만 프레임 저하와 같은 성능 문제가 발생하여 결국 충돌이 발생합니다. ARCore에서 이미지 데이터에 액세스하는 가장 좋은 방법은 무엇입니까?
ARCore의 BackgroundRenderer가 카메라보기를 렌더링하고 있지만 카메라 텍스처를 가져 오는 위치가 표시되지 않습니다. 필터링 된 이미지를 ARCore 카메라 미리보기에 다시 저장하려면 어떻게합니까?
PBO 쓰기를 수행하는 방법의 예를 들려 줄 수 있습니까? 다음과 같이 바이트 버퍼를 사용하고 있습니다 : ByteBuffer buffer = ByteBuffer.allocate (width * height * 4); – snowrain
[이 그래서 질문] (https://stackoverflow.com/questions/28570710/android-opengl-es-3-0-pbo-instead-of-glreadpixels) 본질적으로 내 구현 한 방법입니다. 첫 번째 호출에서 OpenGL 버퍼를 만들려면 일종의 init 함수가 필요합니다. [이 프리젠 테이션의] (https://www.khronos.org/assets/uploads/developers/library/2014-siggraph-bof/KITE-BOF_Aug14.pdf)에는 버퍼 생성 방법에 대한 좋은 예제가 있습니다. – deeroh
PBO를 성공적으로 구현했지만 PBO가없는 glReadPixels()에 비해 성능이 전혀 향상되지 않습니다. PBO가 있거나 없거나 Google Pixel 2에서 30fps를 달성 할 수 있습니다. 내 프로젝트에서 울타리 동기화를 사용하지 않고 있습니다. 성능을 향상시키는 요인이 될 수 있습니까? @ 데로 – snowrain