問題タブ [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 に答える
565 参照

opengl - OpenGL フラグメント シェーダーの最適化

テクスチャに基づいて多くの計算を実行する長方形を描画する頂点/フラグメント シェーダーがあります。(ピクセルのブレンド、変更など)。問題は、各長方形とそれに含まれるピクセルが変更されないことです。長方形全体を移動してズームするだけです。

長方形を再計算する必要がないため、フラグメント シェーダーを最適化する方法はありますか?

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

android - OpenGl フラグメント シェーダーのテクスチャ速度

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

私のプログラムでは、画面上に約 15 個の画像を描画しています (2D のみで、3D 操作はありません)。すべての画像を指で移動できるようにします。したがって、画像が画面上にあるときは 40 fps ですが、(指で) 画面の外に移動すると 60 fps になります。(これにより、プログラムまたは頂点シェーダーのボトルネックが解消されます)。これを Galaxy Tab 7" で実行しています。

これは非常に単純なシェーダーなので、常に 60 fps を期待します。これが遅い理由は何ですか?

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

opengl - GLSL Fragment Shader で 2 つの均一変数を使用できない (最初の機能のみ)

フラグメント シェーダーで 2 つのテクスチャの色を混ぜようとしています。しかし、残念ながら、私はまだ実際の作業の前に立ち往生しています。

シェーダーのセットアップは次のとおりです。

今のところ、フラグメント シェーダーはテクスチャーの 1 つだけを表示します。これは、この場所で両方のテクスチャーが機能するようになれば、後で変更されます。

コンパイルとリンクのエラーを確認しましたが、すべて問題ありません。

そして、ここに私の表示機能があります:

私の問題は、「glGetUniformLocation」を使用してフラグメント シェーダー (「userT」) の最初のユニフォームにしかアクセスできないことです。呼び出し: "GLint videoTexUnif = glGetUniformLocation( m_silhouetteShaderProg, "videoTex" );" 「-1」になります。

フラグメント シェーダでユニフォームの順序を変更すると、「videoTex」にはアクセスできますが、「userT」にはアクセスできません。

フラグメント シェーダーで 2 つのユニフォームを使用する例を多数見たので、これは可能であると強く思います。しかし、私はここで何が間違っていますか?

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

ios4 - シェーダーを使用してポイントを滑らかにする OpenGL ES 2.0

glDrawArrays(GL_POINTS, ...) を使用していくつかの点を描画していますが、正方形ではなく丸い点を滑らかにしたいと思います。OpenGL ES 2.0 には固定関数パイプラインがないことを知っているので、フラグメント シェーダーでこれを行う簡単な方法があるかどうか疑問に思っていますか?

前もって感謝します、

エクストリームコーダー

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

opengl-es - フラグメント シェーダーは、以前にレンダリングされたフレームのカラー値をどのように使用できますか?

OpenGL ES でシェーダーを使用する方法を学んでいます。

例として: 現在のビデオ フレームを取得してグレースケールにするプレイグラウンド フラグメント シェーダーを次に示します。

theColor現在のピクセルを表します。この同じ座標で前のピクセルにもアクセスできると便利です。

好奇心のために、現在のピクセルの色を前のレンダリング フレームのピクセルの色に加算または乗算したいと思います。

以前のピクセルを保持し、フラグメント シェーダーに渡して何かを行うにはどうすればよいですか?

注: iPhone では OpenGL ES 2.0 です。

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

iphone - 高解像度のオフスクリーンフラグメントシェーダーを作成するにはどうすればよいですか?

フラグメントシェーダーがOpenGLESビューポートのピクセルサイズに制限されていることがわかりました。

「オフスクリーンフラグメントシェーダー」またはレンダリング用のピクセル数が多いレンダリング環境を作成できますか?

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

macos - Mac OS X で GLSL フラグメント シェーダをプロファイルしますか?

GLSL フラグメント シェーダーをプロファイリングするにはどうすればよいですか? Mac OS X を使用しています。

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

c++ - 深度に影響しますか、それともフラグメントシェーダーの内側からステンシルバッファーに影響しますか?

gl_FragDepthに書き込むことで、GLSLの深度バッファーに書き込む内容を制御できることは知っていますが、ステンシルバッファーに書き込むことはできますか?

また、ピクセルがステンシルまたは深度テストに失敗したかのように、フラグメントシェーダー内からピクセル書き込みを完全にキャンセルできますか?

ありがとう

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

android - 複数のテクスチャを持つgl_fragColor

現在、1つのオブジェクトに2つのテクスチャが適用されています。最終的にはさらにいくつか追加される予定ですが、現在の2つを正しく機能させるのに問題があります。

現時点では、2つの画像を足し合わせてfragcolorを設定しています。文字通り私がしているのは次のようなものです:

そもそもそのようなことをするためのより良い方法があると確信していますが、それはまた、画像が重なっている場所が(明らかに)一緒に追加されるという問題を引き起こします。これは私が現在のプロジェクトでやろうとしていることではありません。

これが単に私のfragColorだけの問題であるかどうか、このようなことを行うためのGLSLの組み込み関数があるのか​​、それとも他の方法で事前に画像を組み合わせるようなことをする必要があるのか​​はわかりません。

編集:: 私が意味した色の追加の例:http://i.imgur.com/0vH4F.png

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

android - 同じフラグメント シェーダーが異なる Android フォンで異なる結果をもたらすのはなぜですか?

Android で OpenGL ES 2.0 を使用してぼかしフィルターを実装しようとしています。ここに私が使用しているコードがあります:

「Samsung Galaxy S」では期待通りに動作します。ただし、「Samsung Galaxy Ace」で同じアプリを実行すると、ぼかし効果のない明るいテクスチャが得られます。

Galaxy S の結果:

Galaxy Sの結果

Galaxy ACE の結果:

ギャラクシーエースの結果