2011-11-08 31 views
6

Tôi có một phân loại phụ CAOpenGLLayerclass ghi đè drawInCGLContext ở đó tôi vẽ một hình chữ nhật với OpenGL. Các CAOpenGLLayer được thêm vào một CALayer và hiển thị.CAOpenGLLayer hiển thị Ngữ cảnh từ xa

Vì vậy, khi tôi muốn vẽ một cái gì đó tôi sẽ cần phải làm điều đó trong drawInCGLContext với kiến ​​trúc này.

Điều tôi muốn có là một loại ngữ cảnh được sử dụng bởi một class khác để vẽ, tạo hoạt ảnh hoặc hiển thị nhưng sẽ được hiển thị mỗi khi xuất hiện drawInCGLContext.

Vì vậy, về cơ bản điều duy nhất mà lớp con của tôi nên làm là hiển thị một từ xa (OpenGL)context, cách tốt nhất để đạt được điều này là gì? Hay tôi nên xem xét một cách tiếp cận khác?

* Không sử dụng CALayer không phải là một tùy chọn.

Trả lời

3

Bạn đã cân nhắc sử dụng đối tượng bộ đệm khung (FBO) chưa? Bạn có thể tạo một cái được hỗ trợ bởi kết cấu. Lớp bản vẽ "từ xa" của bạn có thể vẽ vào FBO, điều này sẽ khiến cho bản vẽ chuyển đến kết cấu sao lưu. Sau đó bạn có thể sử dụng kết cấu đó ở nơi khác, chẳng hạn như tô nó vào màn hình trong lớp con CAOpenGLLayer của bạn. Xem this link để biết chi tiết về cách sử dụng FBO.

+0

Cuối cùng tôi đã sử dụng bộ đệm OpenGL, vâng. –

Các vấn đề liên quan