異なる GLSurfaceViews (1 つのアクティビティ内) 間で GLES20 コンテキストを共有することは可能ですか? あるいは、異なる GLSurfaceView 間で一連のテクスチャを共有するにはどうすればよいでしょうか?
iOS では、メモリを節約し、別の CAEAGLLayer がサポートする UIView で (大きな) テクスチャを再利用したい場合、それらの間で EAGLContext オブジェクトを渡すか、共通の EAGLSharegroup オブジェクトを共有する別の EAGLContext を使用できます。
Androidでこれをどのように達成するのだろうか。同等の技術はありますか?
編集1
同じ EGLContext を返す独自の EGLContextFactory を実装するという最初の提案は機能しません。これは、すべての GLSurfaceView がレンダリングを独自のプライベート gl レンダー スレッドにディスパッチし、異なるスレッド間で同じ EGLContext を共有できないためです。
私の最初の質問を言い換えると: 1 つの画面 (1 つのアクティビティ) に複数の GLSurfaceView があり、すべてのサーフェスの個々の EGLContext で共通だが大きなテクスチャのセットにアクセスする必要がありますが、テクスチャを複数回ロードするとデバイスのメモリを超えます。では、GLSurfaceView 間でテクスチャをどのように共有しますか?