問題タブ [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.
opengl - OpenGL フラグメント シェーダーの最適化
テクスチャに基づいて多くの計算を実行する長方形を描画する頂点/フラグメント シェーダーがあります。(ピクセルのブレンド、変更など)。問題は、各長方形とそれに含まれるピクセルが変更されないことです。長方形全体を移動してズームするだけです。
長方形を再計算する必要がないため、フラグメント シェーダーを最適化する方法はありますか?
android - OpenGl フラグメント シェーダーのテクスチャ速度
次のフラグメントシェーダーがあります。
私のプログラムでは、画面上に約 15 個の画像を描画しています (2D のみで、3D 操作はありません)。すべての画像を指で移動できるようにします。したがって、画像が画面上にあるときは 40 fps ですが、(指で) 画面の外に移動すると 60 fps になります。(これにより、プログラムまたは頂点シェーダーのボトルネックが解消されます)。これを Galaxy Tab 7" で実行しています。
これは非常に単純なシェーダーなので、常に 60 fps を期待します。これが遅い理由は何ですか?
opengl - GLSL Fragment Shader で 2 つの均一変数を使用できない (最初の機能のみ)
フラグメント シェーダーで 2 つのテクスチャの色を混ぜようとしています。しかし、残念ながら、私はまだ実際の作業の前に立ち往生しています。
シェーダーのセットアップは次のとおりです。
今のところ、フラグメント シェーダーはテクスチャーの 1 つだけを表示します。これは、この場所で両方のテクスチャーが機能するようになれば、後で変更されます。
コンパイルとリンクのエラーを確認しましたが、すべて問題ありません。
そして、ここに私の表示機能があります:
私の問題は、「glGetUniformLocation」を使用してフラグメント シェーダー (「userT」) の最初のユニフォームにしかアクセスできないことです。呼び出し: "GLint videoTexUnif = glGetUniformLocation( m_silhouetteShaderProg, "videoTex" );" 「-1」になります。
フラグメント シェーダでユニフォームの順序を変更すると、「videoTex」にはアクセスできますが、「userT」にはアクセスできません。
フラグメント シェーダーで 2 つのユニフォームを使用する例を多数見たので、これは可能であると強く思います。しかし、私はここで何が間違っていますか?
ios4 - シェーダーを使用してポイントを滑らかにする OpenGL ES 2.0
glDrawArrays(GL_POINTS, ...) を使用していくつかの点を描画していますが、正方形ではなく丸い点を滑らかにしたいと思います。OpenGL ES 2.0 には固定関数パイプラインがないことを知っているので、フラグメント シェーダーでこれを行う簡単な方法があるかどうか疑問に思っていますか?
前もって感謝します、
エクストリームコーダー
opengl-es - フラグメント シェーダーは、以前にレンダリングされたフレームのカラー値をどのように使用できますか?
OpenGL ES でシェーダーを使用する方法を学んでいます。
例として: 現在のビデオ フレームを取得してグレースケールにするプレイグラウンド フラグメント シェーダーを次に示します。
theColor
現在のピクセルを表します。この同じ座標で前のピクセルにもアクセスできると便利です。
好奇心のために、現在のピクセルの色を前のレンダリング フレームのピクセルの色に加算または乗算したいと思います。
以前のピクセルを保持し、フラグメント シェーダーに渡して何かを行うにはどうすればよいですか?
注: iPhone では OpenGL ES 2.0 です。
iphone - 高解像度のオフスクリーンフラグメントシェーダーを作成するにはどうすればよいですか?
フラグメントシェーダーがOpenGLESビューポートのピクセルサイズに制限されていることがわかりました。
「オフスクリーンフラグメントシェーダー」またはレンダリング用のピクセル数が多いレンダリング環境を作成できますか?
macos - Mac OS X で GLSL フラグメント シェーダをプロファイルしますか?
GLSL フラグメント シェーダーをプロファイリングするにはどうすればよいですか? Mac OS X を使用しています。
c++ - 深度に影響しますか、それともフラグメントシェーダーの内側からステンシルバッファーに影響しますか?
gl_FragDepthに書き込むことで、GLSLの深度バッファーに書き込む内容を制御できることは知っていますが、ステンシルバッファーに書き込むことはできますか?
また、ピクセルがステンシルまたは深度テストに失敗したかのように、フラグメントシェーダー内からピクセル書き込みを完全にキャンセルできますか?
ありがとう
android - 複数のテクスチャを持つgl_fragColor
現在、1つのオブジェクトに2つのテクスチャが適用されています。最終的にはさらにいくつか追加される予定ですが、現在の2つを正しく機能させるのに問題があります。
現時点では、2つの画像を足し合わせてfragcolorを設定しています。文字通り私がしているのは次のようなものです:
そもそもそのようなことをするためのより良い方法があると確信していますが、それはまた、画像が重なっている場所が(明らかに)一緒に追加されるという問題を引き起こします。これは私が現在のプロジェクトでやろうとしていることではありません。
これが単に私のfragColorだけの問題であるかどうか、このようなことを行うためのGLSLの組み込み関数があるのか、それとも他の方法で事前に画像を組み合わせるようなことをする必要があるのかはわかりません。
編集:: 私が意味した色の追加の例:http://i.imgur.com/0vH4F.png
android - 同じフラグメント シェーダーが異なる Android フォンで異なる結果をもたらすのはなぜですか?
Android で OpenGL ES 2.0 を使用してぼかしフィルターを実装しようとしています。ここに私が使用しているコードがあります:
「Samsung Galaxy S」では期待通りに動作します。ただし、「Samsung Galaxy Ace」で同じアプリを実行すると、ぼかし効果のない明るいテクスチャが得られます。
Galaxy S の結果:
Galaxy ACE の結果: