問題タブ [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.
opengl-es - OpenGL ES 2.0: EGL_DEPTH_SIZE を既存の EGL コンテキストに追加する
フレームワークソフトウェア(アクセスできない)によって設定されたコンテキストを使用しているOGLES2コードに取り組んでおり、単純な立方体を描画しようとしています。
EGL_DEPTH_SIZE
平らな四角形が画面上を移動するだけになったので、現在のレンダリング コンテキストの構成を調べたところ、が に設定されていることが判明した0
ため、z
すべての頂点の値が無視されています。
フレームワークのコンテキスト内で操作する必要があるのは、 (キューブ面にマップするために)彼らが提供しているいくつかのテクスチャを使用しているためです。このコンテキストの深度バッファを再度有効にする方法はありますか? 回避策があることに失敗した場合(つまり、VBO にレンダリングできますか、それともすべてのz
値を無視しますか) ?
java - GLES2.0:glEGLImageTargetTexture2DOESを介してGL_TEXTURE_EXTERNAL_OESを使用する
Javaで画像バッファをレンダリングし(この場合、 NDKはオプションではありません)、を介してシェーダーに渡しますGL_TEXTURE_EXTERNAL_OES
。
glTexImage2D
仕様に記載されているように、動作しません。しかし、この関数glEGLImageTargetTexture2DOES
はクラスを介してのみ利用可能であり、GLES11Ext
使用するのはちょっと間違っているようです。
とにかく、私は試しました、そしてそれは私に与えますGL_INVALID_OPERATION
、それは次の場合に起こるはずです:
GLが提供されたeglImageOESを使用してテクスチャオブジェクトを指定できない場合(たとえば、マルチサンプリングされたeglImageOESを参照している場合)、エラーINVALID_OPERATIONが生成されます。
残念ながら、この説明から頭や尾を作ることはできません。特に、AndroidJavaAPIではeglImageOES
関数にアクセスできないようです。この関数を使用するためのJavaの例も見つかりませんでした。
小さな例を添付しました:
誰かが以前にそれをしたか、これが可能かどうかを知っていましたか?
編集:
実装を見てみましたがglEGLImageTargetTexture2DOES
、バッファを正しく設定する必要があるようです。それを追加しましたが、それでも同じエラーです。
opengl - プログラマーの観点から EGL を実装することは可能ですか?
EGL は史上最悪の文書化された Khronos プロジェクトのように見えます。文字通り、このプロジェクトについて具体的なものは何も見つかりませんが、有望に見え、最終的に GLUT/FreeGlut の標準化された代替手段があります。
私の要点は、Linux デスクトップのウィンドウまたはウィンドウなし (装飾なし) でアプリケーションの EGL コンテキストが必要であると仮定すると、その EGL コンテキストを取得するために誰を参照する必要があるかということです。たとえば、QT を使用している場合、EGL を実装するのは QT ですか? Xorg? 自分自身?
android - 一部のデバイス (Kindle Fire) で EGL 構成が見つかりませんでした
これらの属性が、Kindle Fire で適切な EGL 構成を取得できない理由はありますか?
これは Motorola XT320 でも発生するようです。ただし、2.3 以降の Android デバイスの大部分は、これらの属性で問題なく動作するように見えますが、これら 2 つはそうではありません。
私はどちらのデバイスも持っていませんが、ユーザーはこれら 2 つのデバイスで最初にアプリがクラッシュしたと報告しており、有効な EGL 構成が見つからないことが原因であることがログに示されているようです。
Amazonのアドオンを使用してKindle Fireをエミュレートし、Androidエミュレーターでこれを再現することができました。Kindle Fire HD は問題なく動作したようです。
コード スニペット (Kindle Fire では がスローされIllegalArgumentException "No configs match configSpec"
ます):
graphics - Raspberry Pi bcm_host インクルード ディレクトリ
EGL を使用する単純なプログラムを作成しようとしていますが、bcm_host.h をインクルードすると、gcc はそれが存在しないと言うので、makefile に /opt/vc/include を追加すると、別のヘッダーが欠落していると表示されます。別のディレクトリを追加すると、6 つのフォルダーが作成された後、もうやりたくありませんが、gcc はさらに多くのフォルダーを必要としています。/opt/vc/src/hello_pi/Makefile.include ファイルを調べたところ、3 つのフォルダーしか追加されていません。質問は次のとおりです。私は何を間違っていますか?
メイクファイルは次のとおりです。
android - EGL_BAD_PARAMETERは、eglSwapInterval()を呼び出した結果です。
いくつかのAndroidデバイスでOpenGLプログラムを問題なく実行しています。ただし、Kindle Fireでアプリを実行すると、への呼び出しがeglSwapInterval()
返されますEGL_BAD_PARAMETER
。
私の電話は次のようになります:
1がデフォルト値であり、受け入れられた最小値と最大値以外の値はサイレントにクランプされることを理解しています。これが、「1」が悪いパラメータである理由について私が混乱している理由です。私のコードでは、init構造に基づいて他の値を渡すことができますが、現在デバッグしているエラーは1を渡すことで発生します。
何か案は?
ありがとう。
c++ - EGL ピクセル バッファーの使用
私は組み込みプラットフォーム Mali400GPU、Ubuntu を使用しています。EGL ピクセル バッファーを使用して、フラグメント シェーダーを使用してレンダリングされたテクスチャをピクセル バッファーにコピーし、CPU 上のそのバッファーで何らかの処理を実行できるようにしようとしています。次のコードを実行しましたが、バッファ オブジェクトを使用してクワッドに描画しようとすると、クワッドのテクスチャが歪んでしまい、理由がわかりません。
これはInit関数にあります
図面内:
android - createWindowSurfaceが失敗しました:EGL_BAD_MATCH?
androidのバージョンは2.2.1です。デバイスはsamsunggalaxyIIであり、完全なクラッシュログは次のとおりです。
これは、クラッシュに関連するコードです。
setEGLConfigChooser()を使用したのは、API-17が存在しない場合、アプリがAPI-17でクラッシュするため、この特定のデバイスでクラッシュしているので、周りを見回していて、デバイスのPixelFormatと関係があります。
不思議に思うのは、サムスンギャラクシーII androidバージョン2.2.1でクラッシュしないようにコードを使用する方法です。エミュレータでこれをテストできず、テストするデバイスがありません。確かなコードが必要です。そしてそれを変更する方法がわかりませんか?
android - テーマのないアクティビティに入ると eglsurface が破棄される
したがって、基本的には、いくつかのオープン gl レンダリングを実行するアプリがありますが、ユーザーがいくつかの設定を行うために入力するアクティビティもいくつかあります。
不思議なことですが、次の属性を持たないアクティビティに入ると
android:theme="@style/ThemeDialog"
ここで、ThemeDialog は基本的に、parent 属性が次のように設定されたスタイルです。
@android:style/Theme.Holo.Dialog"
サーフェス ビューが破棄されます。地球上で、一方は他方とどのように関連していますか?合理的な説明が見つからないようです。手伝ってくれませんか?
android - Nexus 10/Android 4.2.2 で glTexSubImage2D のパフォーマンスが低下する (Mali-T604 を搭載した Samsung Exynos 5)
ビデオを yuv420p 形式にデコードし、OpenGLES を使用してビデオ フレームをレンダリングする Android アプリがあります。glTexSubImage2D() を使用して y/u/v バッファーを GPU にアップロードし、シェーダーを使用して YUV2RGB 変換を行います。すべての EGL/OpenGL セットアップ/レンダリング コードはネイティブ コードです。
私のコードに問題がないと言っているわけではありませんが、同じコードが iOS (iPad/iPhone)、Nexus 7、Kindle HD 8.9、Samsung Note 1、および他のいくつかの安価な中国製タブレット (A31/ Android 4.0/4.1/4.2 を実行する RockChip 3188)。私のコードが間違っている可能性は低いと思います。これらのデバイスでは、glTexSubImage2D() は 16 ミリ秒未満で SD または 720P HD テクスチャをアップロードします。
ただし、Nexus 10 では、glTexSubImage2D() は、SD または 720P HD テクスチャに対して約 50 ~ 90 ミリ秒かかり、30fps または 60fps ビデオには遅すぎます。
私が知りたいのですが
1) 別のテクスチャ フォーマット (RGBA または BGRA) を選択する必要がある場合。GPU で使用される最適なテクスチャ フォーマットを検出する方法はありますか?
2) 他のすべての SOC では「オフ」になっているが、Exynos 5 では「オン」に設定されている機能がある場合。たとえば、自動 MIPMAP 生成オプション。(私はそれをオフにしています、ところで)
3) これが Samsung Exynos SOC の既知の問題である場合 - Exynos CPU のサポート フォーラムが見つかりません。
4) EGL サーフェスを構成するときに設定する必要があるオプションはありますか? 透明度、表面のフォーマットなど?(何を言っているのかさっぱりわかりません)
5) GPU が暗黙的なフォーマット変換を行っている可能性がありますが、GL_LUMINANCE が常に使用されていることを確認しました。繰り返しますが、他のすべてのプラットフォームで動作します。
6) 他に何かありますか?
私の EGL 設定:
初期設定:
その後の部分的な置換:
SD または 720P HD 解像度で ~30FPS または ~60FPS でビデオをレンダリングしようとしています。