問題タブ [opengl-es-3.1]

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.

0 投票する
2 に答える
1393 参照

android - Android で OpenGL ES 3.1 がサポートされるのはいつですか?

OpenGL ES 3.1 仕様は、2014 年 3 月 17 日にリリースされました。

Android SDK に追加する予定があるかどうか知っている人はいますか?

0 投票する
1 に答える
2595 参照

android - OpenGL ES 3.1 のサポート (Android L デベロッパー プレビュー)

昨日、計算シェーダーの実装を開始することを期待して、Nexus 5 に Android L デベロッパー プレビュー イメージをインストールしました。GLES31 対応の OpenGL コンテキストを提供することを期待していたコードは次のとおりです。

Android 4.4.4 で OpenGL ES 3.0 コンテキストを作成するコードとまったく同じです。

しかし、代わりに、新しい GLES31 機能なしで OpenGL ES 3.0 コンテキストを取得しています。

OpenGL コンテキストの作成に関して何か基本的なことが欠けていますか? それとも、現在の Android L 開発者向けプレビュー イメージ (= LPV79) で OpenGL ES 3.1 がサポートされていないのですか?

0 投票する
0 に答える
332 参照

android - OpenGL ES 3.1 "imageStore" が Mali T760 で動作しない

OpenGL ES 3.1 を使用してモバイル グラフィックス プログラムを作成しています。

Adreno OpenGL ES 3.1 Emulator (私のグラフィック カードは Nvidia GTX 580) で私のプログラムが正常に動作することを確認しました。しかし、私のプログラムをスマートフォン (Samsung Galaxy Note 4 - Mali T760) にインストールすると、深刻な問題が発生します。

シェーダー関数で「imageStore」を使用しています。この関数はエミュレータではうまく機能しますが、Android フォンでは 0 を書き込むだけです。

この問題に関する問題または解決策はありますか?

0 投票する
2 に答える
480 参照

opengl-es - AMD OpenGL ES SDK 3.1 Fragment Shader の不具合

AMD OpenGL ES SDK for 3.1 (2016 年 5 月 13 日現在)のフラグメント シェーダーは次のとおりです。

これは完全に間違っています。私がそれを修正するのに最も近いのは次のとおりです。

これは、最後の行でテクスチャを texture2D に変換するだけです。

拡散シェーダを計算しようとして何が起こっているのかわかりません。ドットを使用してフロートを取得し、フロートでスウィズル (それを.xxx演算子と呼んでいるものだと思います) を呼び出して、それを複製しようとしていますか?

シェーダーについて簡単に学ぶにはどうすればよいですか? 熟練するのは非常に難しい分野のようです。

0 投票する
1 に答える
1368 参照

c++ - OpenGL ES 3.1 - glTexImage2D で不変のテクスチャを作成できない

glTexImage2D()私はそれを使用してバインドできる不変のテクスチャを作成しようとしていますglBindImageTexture()

ここに私のC++コードがあります:

Mipmap レベルは必要ないので、 に設定GL_TEXTURE_MAX_LEVEL0ます。次に、すべてのテクスチャのレベル (ここでは 1 つだけ) をセットアップするため
に呼び出しますが、エラーは発生しません。glTexImage2D()

残念ながら、の結果は
glGetTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_IMMUTABLE_FORMAT,&status)0テクスチャがimmutableではないことを意味します。

を呼び出そうとするとglBindImageTexture()、エラー1282が発生します。これは、クロノスのドキュメントに書かれているように、この opengl 関数には不変のテクスチャが必要なためです。

私が間違っていることについてのアイデアはありますか?

前もって感謝します ;)

編集 :

お二人ともお時間を割いて情報を提供していただきありがとうございますが、わからないことがあります。

男性のこの段落glTexStorage2D()khronos documentation)は私を混乱させます:

glTexStorage2D の動作は、ターゲット パラメータによって異なります。ターゲットが GL_TEXTURE_2D の場合、glTexStorage2D を呼び出すことは、エラーが生成されないと仮定すると、次の疑似コードを実行することと同じです。

実際にはテクスチャ データが提供されないため、pseudo-codefor のフォーマットとタイプで使用される値は無関係であり、選択された internalformat 列挙子に有効な任意の値と見なされる場合があります。internalformat は、表 1 に示されているサイズの内部形式のいずれか、または以下の表 2 に示されている圧縮された内部形式のいずれかでなければなりません。成功すると、 の値は次のようにGL_TEXTURE_IMMUTABLE_FORMATなります。GL_TRUE. GL_TEXTURE_IMMUTABLE_FORMAT の値は、pname を GL_TEXTURE_IMMUTABLE_FORMAT に設定して glGetTexParameter を呼び出すことによって検出できます。テクスチャ オブジェクトの寸法や形式をこれ以上変更することはできません。テクスチャ オブジェクトの寸法やフォーマットを変更する可能性のあるコマンド (glTexImage2D や glTexStorage2D への別の呼び出しなど) を使用すると、実際には寸法やフォーマットを変更しない場合でも、GL_INVALID_OPERATION エラーが生成されます。物体。

上記の段落が についてなのglTexImage2D()glTexStorage2D()

さらに、私の根底にある質問は次のとおりです。使用して作成されたテクスチャをバインドできますか? glTexImage2D()glBindImageTexture()(たとえば 、これら 2 つの関数が実際に一緒に使用されているコード サンプルを見ました)