問題タブ [fragment-shader]

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 に答える
1412 参照

iphone - CVImageBuffer で複数の OpenGL シェーダーを実行する

前の 2 つの質問に関連して、コア ビデオ バッファーに対して複数のシェーダーを実行する方法を理解するために 1 週​​間を費やしました。何をする必要があるかはわかっていますが、率直に言って、コードを機能させることができません (以下に貼り付けたのは、元の非ピンポン バージョンです)。

ユーレカの瞬間が欠けていて、私は完全に立ち往生しています:)。簡潔にするために、シェーダーをコンパイルしてリンクするコードは示していません。全体が GL 互換レイヤーにレンダリングされます (成功しましたが、一方のシェーダーが他方のシェーダーを上書きするため、重要なステップが欠落しています)。その下に UIToolbar があり、最終的には、シェーダーごとのボタンとすべてのシェーダーを実行するためのボタンが表示されます。

ありがとう、

サイモン

編集:不足しているものを明確にしました

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

opengl - frag&vertシェーダーを有効/無効にします

現在使用しています

しかし、正しく元に戻らず、これらの行に沿って「無効な操作glError」が発生します

それを行うための適切な/正しい方法は何ですか(シェーダーを有効/無効にする)?

[私のコードファイル(一時的なリンクが削除されました)] [1]

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

c++ - glsl - フラグメントシェーダー (ぼかし) -> 黒い画面

ここ数日間、これを機能させようとしてきましたが、本当に必死になり始めています。私はあなたが持っているかもしれない提案に本当に感謝しています.

私がやろうとしてきたこと:

  • シーンを FBO にレンダリングする
  • glsl シェーダーを使用して、アタッチされたテクスチャをぼかします
  • 得られたテクスチャを画面に整列したクワッドにレンダリングします

問題:

フラグメント シェーダー (水平方向のぼかし) を有効にすると、最初のフレーム程度でクワッドにレンダリングされたぼやけた画像が得られます。その後はすべて黒になります。

私の疑いは、テクスチャをシェーダーに渡す方法に何か問題があるということです:

編集: もう 1 つの情報: glUniform1i(glGetUniformLocation(horizo​​ntalBlurFragment.program, "RTScene"), 0); を削除した場合 まったく同じ結果が得られます。これは、シェーダーがテクスチャ データをまったく取得しないことを示していると思います。

ソース:

頂点シェーダー:

フラグメントシェーダー:

fbo にレンダリング:

(より単純なシェーダー(色の切り替えなど)を使用しても問題なく動作するため、ここに私の ShaderLoader ソースを投稿しません)

エラーが別の場所にあると思われる場合は、喜んで追加のコードを投稿します。

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

ios - vec2 の配列を Fragment Shader Opengl es 2.0 に渡す

vec2 の配列をフラグメント シェーダーに渡そうとしていますが、うまくいかないようです。

私のアプリケーションでは、次の配列があります。

私のフラグメントシェーダーでは、そのような値にアクセスしようとしています

ただし、フラグカラーは、ハードコーディングしたかのように変更されません

これらの vec2 値をシェーダーに渡す方法についてのアイデア

前もって感謝します

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

loops - GLSL: どちらがより最適ですか? CPU のループまたはフラグメント シェーダーのループでピンポンしますか?

均一な int 変数として渡されたパスの数で for ループを実行しているフラグメント シェーダーがあります。

ループ回数が増えるとパフォーマンスが急激に低下することがわかります。これはフラグメント シェーダーでループ計算を実行する適切な方法ですか、それとも 2 つのフレームバッファー アタッチメント間でピンポンを使用して CPU でループを実行する必要がありますか?

私は卓球を試している最中ですが、以前にこのことに遭遇した可能性のある人々の意見を知りたかっただけです.

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

android - 以下がフラグメントシェーダー(Open GL ES 2.0)のパフォーマンスを低下させる理由

フラグメントシェーダーに次のコードがあります。

color_tintコードは正常に機能しますが、渡したものがすべてfalseであっても、上記のコードによってパフォーマンスが大幅に低下するのは興味深いことです。比較する場合:

後者は40+fpsを達成できますが、最初のものは約18fpsです。私はダブルチェックcolor_tintしましたが、最初に渡されたものはすべてfalseであるため、ブロックは実行されません。

ところで、私はGLES20を使用してAndroid2.2で上記をプログラミングしています。

シェーダーの何が問題になっているのか、専門家は知っていますか?

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

glsl - GLSL: バーテックス シェーダーからフラグメント シェーダーへの変化なし

変更せずに頂点シェーダーからフラグメントシェーダーにデータを転送する方法は? 頂点ピクセルにこの色があることを伝える必要があります。頂点シェーダーでしか得られないこの色。

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

opengl - ポリゴンがそれらの 1 つだけをカバーしている場合でも、クワッド フラグメントの 4 つのフラグメントすべてがシェーディングされるのはなぜですか?

たとえば、三角形 (ポリゴン) がそれらの 1 つだけをカバーしている場合、クワッド フラグメントの 4 つのフラグメントすべてがシェーディングされる (色を計算する) のはなぜですか?

0 投票する
3 に答える
6292 参照

opengl - OpenGL シェーディング言語 さまざまな種類の変数 (修飾子)

私はOpenGLを使ってプログラムを書いています。最近、OpenGL Shading Language を学び始めました。私は初心者です。そのため、回答に詳細を記入してください。

私の質問は次のとおりです。

  1. GLSL のさまざまなタイプの変数 (修飾子) は何ですか?
  2. それらは何に使用されますか?
  3. それらは互いにどう違うのですか?

私は、頂点間で補間されるために頂点シェーダーからフラグメントシェーダーに渡される「可変」変数にのみ精通しています。それ以外は、私は何も知りません。

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

opengl - フラグメント シェーダーを使用した OpenGL drawPixels

OpenGL パイプラインについて混乱しています。フラグメント シェーダーで glDrawPixels を使用しようとしている openGL メソッドがあるため、コードは次のようになります。

一部のグラフィックス カードではシェーダーが適用されますが、他のカードでは適用されません。nvidia には問題ありませんが、さまざまな ATI カードに問題があります。これは ATI カードのバグですか? それとも、nvidia の方が柔軟性が高く、パイプラインを誤解していますか? これを回避する代替手段はありますか (テクスチャ マッピング以外)?

ありがとう、ジェフ