iOS 5では、OpenGL ESテクスチャキャッシュが導入され、バッファをコピーせずにカメラビデオデータからOpenGLに直接移動できます。テクスチャキャッシュの概要はsession 414 - Advances in OpenGL ES for iOS 5 of WWDC 2011です。glReadPixelsの代わりにglReadPixelsの代わりにOpenGL ESテクスチャキャッシュを使用してテクスチャデータを取得
この概念をさらに悪用し、単にテクスチャをロックしてバッファに直接アクセスすることによってglReadPixels
への呼び出しを回避する面白いが見つかりました。
glReadPixels
はiPad 2で使用されているタイルベースのレンダラ(実際には1x1のテクスチャを使用している場合でも)のために実際には遅いです。しかしながら、記載された方法は、glReadPixels
より速く処理するように見える。
記事中の提案された方法も有効であり、glReadPixels
に依存するアプリケーションを強化するために使用できますか?
OpenGLはグラフィックスデータをCPUと並行して処理するので、OpenGLと通信することなくレンダリングが完了したら、CVPixelBufferLockBaseAddress
はどのようにしてコールするべきですか?