OpenGLテクスチャからCVOPENGLTEXTUREREFを作成する方法
-
24-10-2019 - |
質問
OpenGLとコアビデオを使用して、プロジェクトのセットアップが少しあります。私はFBOにレンダリングし、これをプログラムの他の部分のテクスチャとして使用しますが、このテクスチャリファレンスをcvopenglTextureRefの形で渡す方が良いでしょう。ただし、テクスチャ名とターゲットからこのデータタイプを作成する方法(データをコピーせずに)を作成する方法はありません。
解決
私が理解しているように、 読んだ OpenGLコンテキストからのデータは、 CVOpenGLBufferRef
(これは一種です CVImageBufferRef
)。ドキュメントでは、これらのラップPBUFFERSが主張していますが、FBOSで動作すると思います。私はそれを試していません。
に 与える aからのデータ CVOpenGLBufferRef
, 、あなたはそれを使用してテクスチャに描画する必要があります CVOpenGLTextureCacheRef
, 、のセットを管理します CVOpenGLTextureRef
s。
変更されていないバッファーの内容を描画したい場合は、OpenGLで作業する方が効率的です。 (必要に応じて、シェアグループを使用してコンテキスト間でテクスチャ/バッファーを共有できることに注意してください。)
コンテキストの間でバッファをシャッフルする必要があり、コアビデオで得られるふわふわの高レベルの抽象化と有用なドキュメントをすべて望んでいない場合は、iOSURFACEとcglioSurfaceを調べることをお勧めします。
所属していません StackOverflow