저는 그림 응용 프로그램을 작성하고 있으며, 그리기 캔버스는 OpenGL 텍스쳐입니다. 캔버스에 그릴 때 캔버스 텍스처의 어느 영역이 변경되었는지를 결정하고 변경 사항을 적용하기 전에 해당 픽셀 데이터를 복사합니다 (glReadPixels 사용).임의 크기의 픽셀 블록을 OpenGL ES 텍스처로 복사하십시오. 여하튼?
실행 취소하려면 복사 한 픽셀 데이터를 사용하여 이전 텍스처 상태로 간단하게 되돌리고 싶습니다. 그러나 OpenGL ES는 glDrawPixels 명령을 제공하지 않습니다. 가장 좋은 방법은 무엇입니까?
가 나는 두 가지 옵션을 고려,하지만 난 모르겠어요 것 중 하나 좋은 점이다.
내가 밖으로 복사에 그것을 그리는 픽셀을 사용하여 임시 질감을 만듭니다 (단, 복사 지역은 2의 거듭 제곱이 아님)
큰 캔버스 텍스처를 완전히 바인딩 해제하고 텍스처의 바이트를 수동으로 변경 한 다음 OpenGL에 다시 넣습니다. 나는 어떤 종류의 압축도 사용하지 않으므로 그렇게 나쁘지 않을 것입니다. 그러나 그것은 해킹처럼 보인다?
아무도 아이디어가 있습니까? 나는 정말로 그것을 바르게 평가할 것이다!