2013-06-30 6 views
0

코어 그래픽 대신 OpenGL ES2로 iPad 드로잉 응용 프로그램을 다시 작성하고 있습니다. 저는 이미 선분을 그릴 수있는 GLKView의 하위 클래스를 작성했으며 스토리 보드에 GLKView를 드래그하여 사용자 정의 클래스로 설정할 수 있습니다. 지금까지 그림이 작동하지만 Photoshop과 김프와 같은 레이어를 구현하기를 원합니다.OpenGL ES 2 2D 레이어드 드로잉

각 레이어에 대해 여러 GLKViews를 만들고 UIKit에서 혼합 및 재정렬을 처리하도록 생각했지만 블렌드 모드를 허용하지 않으며 성능이 좋지 않을 수 있습니다.

지금까지 GLKView에서 모든 것을하는 것이 최선의 해결책이라고 생각합니다. 버퍼로 사용하는 레이어를 사용해야 할 것입니다. 내 앱은 실행 취소/다시 실행을 처리 할 수 ​​있어야하므로 이전 데이터를 저장하기 위해 텍스처를 사용해야 할 수도 있습니다.

그러나 저는 OpenGL을 처음 사용하므로 질문 사항 : 레이어를 어떻게 구현해야합니까?

답변

4

질문이 매우 광범위하기 때문에보다 자세한 연구를위한 출발점을 제시해야하는 광범위하고 일반적인 대답이 여기에 있습니다.

개별 레이어를 개별적으로 관리하는 것이 좋은 방법 일 수 있습니다. 텍스처. 프레임 버퍼 객체 (FBO)을 사용하면 레이어 내에서 드로잉하기위한 텍스처로 직접 렌더링 할 수 있습니다. 각 텍스처는 단일 레이어의 이미지를 지속적으로 저장합니다. 레이어를 결합하려면 각각 (해당되는 순서대로) 레이어 텍스쳐를 하나씩 렌더링하고 간단한 질감의 쿼드을 사용하고 블렌딩 기능을 사용해야합니다.

+0

* texture * 및 * framebuffer object *와 같은 중요한 키워드를 강조해 주셔서 감사합니다. –

+0

이와 같은 광범위한 질문을 통해 질문자를 전반적인 접근 방식에 위임하고 몇 가지 첫 번째 Google 대상을 제공하는 것 이상을 수행 할 수 없습니다. –