問題タブ [transform-feedback]

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 投票する
1 に答える
1629 参照

java - GLES30.glGetBufferSubData はどこにありますか? トランスフォーム フィードバック データの読み取り方法 opengles 3.0

そのため、変換フィードバックで見つけた最も単純な例の 1 つ (ここ) に従い、それを Android/Java に変換していますが、AndroidglGetBufferSubDataには OpenGL ES 3.0 で利用できる機能がないようです。

Android ソースを検索して、JNI で別のメソッドを呼び出すときにこのメソッドが使用されているかどうかを確認しようとしましたが、正しい場所を探しているかどうかさえわかりません。

この関数が存在しない場合、変換フィードバックからデータを読み取るにはどうすればよいですか? 私は見ましたがglGetTransformfeedbackVarying、私が望むことをglGetBufferPointervglReadBufferている人はいません。

これが私のコードです:

私の最終的な実装では、必ずしもデータを読み取る必要はありません。次のパス (フィードバック) でシェーダーで使用するだけです。しかし、これは本当に最初のステップです。

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

android - Android デバイスでの in および out ストレージ修飾子の OpenGLES 3.0 シェーダー コンパイル エラー

そのため、変換フィードバックを利用するために OpenGLES 3.0 を使用するようにアプリを更新していますが、シェーダーがコンパイルされていません。

エラー:

頂点シェーダー コードは次のとおりです。

コンパイルコードは次のとおりです。

...

誰かがこれに何か問題があると思いますか? inoutをそれぞれ変更しattribute varyingてもエラーはスローされませんが、glUseProgram は gl エラー 1282「無効な操作」をスローします。

これは、es バージョン 3.0 の GL をセットアップする方法です。

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

c++ - トランスフォーム フィードバック デモ Xcode でゼロを取得

hereからデモをダウンロードしました。xcode で glewInit() を削除し、他のすべては同じままにしました。エラーも警告もなしに実行しましたが、出力はすべてゼロです。なぜですか?

私の mac: OS X EI キャプテン、Intel Iris Graphics 6100

デモは次のとおりです。

私の出力:

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

opengl - glDrawTransformFeedbackStream、ストリームは何を参照していますか?

このサンプルをg-trucから joglに移植したところ、うまくいきました。

しかし今、私は of が何streamglDrawTransformFeedbackStream指しているのかを正確に理解しようとしています。

基本的に、vec4 position入力は次のように変換されます

次のように:

transform-stream.verttransform-stream.geom

そして、変換されたオブジェクトを単純にレンダリングしますglDrawTransformFeedbackStream

feedback-stream.vertfeedback-stream.frag

今、彼らが言うドキュメントに基づいて:

プリミティブ カウントを取得する変換フィードバック ストリームのインデックスを指定します。

かっこいいので、ここfeedbackArrayBufferNameにバインドすると0

そうあるべきだと思います。

また、ジオメトリ シェーダーは(のみ) 色をインデックス 0 に出力します。位置についてはどうでしょうか。それらはすでにストリーム 0 にあると想定されていますか? どのように?からglTransformFeedbackVaryings?

したがって、このストリームへのすべての参照を 1 に切り替えて、それらがすべて一貫しているかどうか、およびそれらが同じインデックスを参照しているかどうかを確認しようとしました。

だから私は修正しました

また、ジオメトリ シェーダー内

しかし、実行すると、次のようになります。

何が起こっているのか知りたいと思ったら、ここでこれを見つけました

それは私に何が起こるのですか?positionインデックス 0 に、色をインデックス 1 にしますか?

私の仮説が正しいかどうか知りたいだけです。はいの場合は、ストリーム インデックスを変更して証明したいと思います。positionしたがって、変更後にオン ストリーム 1 を色と一緒に設定する方法も知りたいです。この方法でジオメトリ シェーダーの出力を変更しますlayout(triangle_strip, max_vertices = 3, xfb_buffer = 1) out;か?

文句を言うから

それから私はそれを追加し、私は得る

しかし、今では両方ともストリーム 1 にあるはずですが、何が欠けていますか?

また、ストリームの定義は何ですか?