問題タブ [egl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - OpenGLES 2.0 での出力画像のキャッシュ
私の問題:
画面にopengles 2.0でレンダリングする必要があるビデオ(25FPSとしましょう)があります。ビデオを読み取るために、そのビデオを opengl es テクスチャにデコードするデコーダを使用します。レンダーパスを使用して、このテクスチャを画面に描画します。
私がしなければならないことは、デコーダーから画像を取得して GPU にアップロードし、shaderprogram を呼び出して画面に画像をレンダリングすることです。ビデオが 25 FPS の場合、画面を 40 ミリ秒単位 (1000 ミリ秒/25 FPS) で更新する必要があります。
各ステップで、次のことを行う必要があります。
- デコーダーから画像を取得する
- GPUメモリにプッシュします
- 画面をレンダリングする
- スワップバッファ
これまでのところ、それは機能しています。ここで、デコーダがフレームをデコードするのに 40 ミリ秒以上かかることがあります。それは常に起こるわけではありませんが、時々起こります。
解決策は、キャッシュを構築することです。つまり、最初の画像を表示する前に、つまり 5 つの画像をレンダリングします。これには問題が伴います。非同期に発生する必要があるため、キャッシュの構築と画面のレンダリングを同時に行うことができます。それが起こった場合、それはもはや「流動的」ではないため、ビデオでそれを見ることができます.
私の質問:
- その解決策はありますか?
- レンダーサーフェスのバックバッファーにコピー (?!) できる ?-buffer を作成して、その種類のバッファーでキャッシュを作成し、他のスレッドをブロックすることなくバックバッファーにコピーすることは可能ですか?このバッファを作成していますか?
また
- バックバッファを別のバッファで埋める方法は?
私はすでに試しました:
- フレームバッファ (テクスチャ) をキャッシュとしてレンダリングします。テクスチャもレンダリングする必要があることを除けば、これはほぼ完璧に機能します。これは、(非同期であるため) キャッシュフレームが構築され、画面の画像が構築される場合、rendermethods をミューテックス (/同期化) する必要があることを意味します。そうしないと、プログラムがクラッシュします。しかし、同期には、非同期で行うという要点が必要です。したがって、これは良い解決策ではありません。
android - glReadPixels を EGL_KHR_image_base に置き換えて、ピクセルのコピーを高速化
glReadPixels を置き換えるために Android ネイティブ プロセスで EGL_KHR_image_base を使用しようとしています。
これは私がこれまでに持っているものですが、空のバッファーを生成します (ゼロのみ)
私は何を間違っていますか?
android - GL_PIXEL_PACK_BUFFER を指定した glBindBuffer が列挙エラー コードを返す
私はやろうとしています:
glBindBuffer(GL_PIXEL_PACK_BUFFER, pbo_id);
Android 4.3では、「enumエラーコード」が表示されますが、ドキュメントにはGL_PIXEL_PACK_BUFFERを使用できると書かれています。
おそらく「OpenGL ES 3.0」を使用していないのでしょうか? v3 の使用を強制するには何が必要ですか?
OpenGL コンテキスト:
opengl-es - opengl/eglでレンダリング面のサイズを変更するには?
C を使用して OpenGL ES 2.0 で作業しています。(Android ではありません) egl サーフェスのサイズを変更して、2 つの異なるコンテキストを画面に同時にレンダリングできるようにしたいと考えています。
egl サーフェスのサイズを変更することは可能ですか?
android - Android WebView が Android 4.4 で動作しない
私は webview を使用しているアプリケーションを開発しています。Android 4.1を搭載したLg-p880ではすべて正常に動作していますが、新しいKitkat電話(およびエミュレーター)ではLogcatに次のように表示されます:
01-29 11:16:03.095: E/eglCodecCommon(2179): * * エラー 不明なタイプ 0x10037 (glSizeof,72)
と
01-29 11:16:03.695: E/eglCodecCommon(2179): glUtilsParamSize: 未知のパラメータ 0x00000b44
この行にコメントすると機能しますが、(論理的に) 何も表示されません。
Google で何も見つかりませんでした。助けてください。事前に感謝します
java - Android Webview が Android 4.4 で動作しない
Webview に基づいて Android アプリケーションを開発しています。Android 4.1 ではすべて正常に動作していますが、4.4 ではこのエラーがスローされます。
01-29 11:16:03.075: E/eglCodecCommon(2179): glUtilsParamSize: 不明なパラメーター 0x00000bd0 01-29 11:16:03.095: E/eglCodecCommon(2179): * * エラー不明なタイプ 0x10037 (glSizeof,72)
この行のコメントを外すと、機能しますが (論理的に) 何も表示されません
Webview 構成コードは次のようになります。
HTMLコードは正確に
そしてJava-Javascriptインターフェースは
事前にどうもありがとう