私は、レンダラー、オフスクリーン GLSurfaceView、およびいくつかのシェーダー スクリプト (*.fsh および *.vsh) を備えた OpenGL 2.0 を使用するこの写真アプリに取り組んでいます。
Assets フォルダーからシェーダー スクリプトを読み込んだ後、GL サーフェスとコンテキストを準備するなどして、最終的に呼び出すGLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4);
と、非常にうまく機能し、エフェクト付きのビットマップが生成されます。
もちろん、問題はメモリの制限と十分な大きさのビットマップ (デバイスに関係なく、古い Gingerbread ではそれほど大きくなく、Nexus 10 では非常に大きな画像) であり、OutOfMemoryException が生成されます。
私は OpenGL についてあまり詳しくありません。非常に大量のデータを処理する方法は、ストリームを使用することなので、すべてをメモリに保持する必要はありません。
問題は、メモリ内 Bitmap の代わりに Stream を介して openGl シェーダー/レンダラーを適用する方法はありますか? はいの場合、リンクまたは基本手順へのポインターはありますか?