Trong iOS 5, bộ đệm Kết cấu OpenGL ES được giới thiệu để cung cấp cách trực tiếp từ dữ liệu video camera đến OpenGL mà không cần sao chép bộ đệm. Đã có một giới thiệu ngắn gọn về bộ đệm kết cấu trong session 414 - Advances in OpenGL ES for iOS 5 of WWDC 2011.Sử dụng bộ đệm kết cấu OpenGL ES thay vì glReadPixels để lấy dữ liệu kết cấu
Tôi tìm thấy một thú vị article mà lạm dụng khái niệm này hơn nữa cuối cùng và circumvents một cuộc gọi đến glReadPixels
bằng cách đơn giản khóa kết cấu, và sau đó truy cập bộ đệm trực tiếp.
glReadPixels
thực sự chậm do trình kết xuất dựa trên hình nền được sử dụng trong iPad 2 (ngay cả khi bạn chỉ sử dụng kết cấu 1x1). Tuy nhiên, phương pháp được mô tả dường như xử lý nhanh hơn glReadPixels
.
Phương pháp được đề xuất trong bài viết thậm chí hợp lệ và nó có thể được sử dụng để tăng cường các ứng dụng dựa trên glReadPixels
không?
Vì OpenGL xử lý dữ liệu đồ họa song song với CPU, cách gọi CVPixelBufferLockBaseAddress
biết khi kết xuất được thực hiện mà không cần nói chuyện với OpenGL?