アップルのRosyWriterサンプルアプリケーションと同様に、テクスチャキャッシュを使用して画面にビデオフレームを描画しています。iOS 5.0でのミップマップフィルタリングの使用OpenGL ES 2.0テクスチャキャッシュ
イメージを1080pから320x480にダウンサンプリングしたいのです(さまざまな理由で、より低い解像度でキャプチャしたくありません)。ミップマップフィルタリングを使用してエイリアシングを取り除きます。しかし、私が追加しようとすると:
glGenerateMipmap(CVOpenGLESTextureGetTarget(inputTexture));
glTexParameteri(CVOpenGLESTextureGetTarget(inputTexture), GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
私はちょうどミップマップが生成されていないように黒い画面が表示されます。あるテクスチャから別のテクスチャにオフスクリーンをレンダリングしています。テクスチャキャッシュを使用して、ソースとデスティネーションの両方がピクセルバッファにマッピングされます。
こんにちはブラッド、私の謝罪、質問は混乱していた - 私は理にかなって編集しました。私はズームイン機能を追加していますが、これはポイントの外にあります。この問題は、ズームアウトして画像をダウンサンプリングしているときに実際に発生し、より簡単にストリーミングできるようになります。リージョンをズームインすることができるのは、元のキャプチャ解像度を単純に下げることができず、ソフトウェアで手動でダウンサンプリングする必要があるということだけが関係しているからです。 – chris838
エイリアシングを除去するには、シェーダ内の画像をローパスフィルタリングすれば十分ですか?私はすでに、フレームバッファなどの書き込み用に定型コードを用意しています。 – chris838
@ chris838 - 他のものを探しているうちに、私は今日これを見つけました:http://mobile3dgraphics.blogspot.com/2011/04/mipmapping- and-npot-textures-inside.htmlでは、NPOTテクスチャ上の3線フィルタリングの実装について説明しています。それは、あなたのケースでスムーズなダウンサンプリングを実現するのに役立ちます。 –