問題タブ [pixel-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 投票する
2 に答える
1831 参照

c# - HLSL:問題のあるピクセルシェーダーコード(サンプリング時のゼロのアルファ)?

ピクセルシェーダーのサンプラーにこの奇妙な問題があります。サンプラーから空のfloat4変数にサンプリングすると、常に黒/透明色が返されます。したがって、これを使用すると、黒い画面が表示されます。

II代わりにこれを使用して問題なく動作します:

これは、AMD4850GPUを使用する自宅の開発環境でのみ発生します。いくつかのnVidiasまたはAMD5850で試してみると、どのような場合でも機能します...

これの理由は何ですか?デバイスの初期化を見逃しましたか?

乾杯!

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

directx - CG: ピクセルごとのライティングの何が問題になっていますか?

Unity と CG で基本的な n-dot-l ライティングを実行しようとしています。

私の理解では、カメラでオブジェクトを見る場所によって照明が変わるべきではありません。しかし、私の状況ではそうです。

このコードには何が欠けていますか?

モデルビュー マトリックスでもライトの位置を変換する必要がありますか?

ありがとう!

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

directx - DXGI_FORMAT_R8_UINT テクスチャにアクセスできません

カメラから送信された 8 ビット画像で計算を行いたいのですが、それらにアクセスする方法がわかりません。

以下は、テクスチャ オブジェクト/リソース ビューを作成するための私のコードです。

次のコードでテクスチャを更新します。

HLSL ファイル (クワッドを取り、画面上にクワッドとして表示):

これを実行しようとすると、エラー X4532: cannot map expression to pixel shader instruction set が表示されます

デバッグしようとすると、g_pCurrentImage のデータを見ようとすると、サーフェスを表示できないと表示され、それを

DirectX デバッガー (この場合は PIX) は最初の行を無視するだけで、最初の行に到達しないため、デバッグできません。これに対処する方法のオプションが不足しています。やりたいことは基本的な数学の指示だけですが、ピクセルシェーダーを完全に機能させることができません。

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

graphics - ピクセルレート効果を理解するのに役立ちます

私は HLSL が初めてで、ピクセレート サンプルを理解しようとしています。ただし、いくつかの操作がどのように行われるかについての参照を見つけることができませんでした。シェーダーの例を次に示します。

どのような計算が行われているのか理解できませんでした:

2 つのベクトル間の除算を計算する方法がわかりません。また、ベクトルのフロアを計算する方法もわかりません。(2 つの float2 を除算すると float2 が返されると想定しています)。

何か案が?

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

graphics - ジオメトリシェーダーの実行回数?

したがって、頂点シェーダーは頂点ごとに実行され、フラグメントシェーダーはフラグメントごとに実行されます(右?)。

ジオメトリシェーダーは何回実行されますか?

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

xna - xboxでのピクセルシェーダーのパフォーマンス

XNAで使用しているピクセルシェーダー(下)があります。私のラップトップ(くだらないグラフィックカード)では、少しぎくしゃくしますが、大丈夫です。xboxで実行してみたところ、ひどいです!

ゲームには何もありません(フラクタルレンダラーです)ので、問題の原因となるピクセルシェーダーである必要があります。また、反復を減らして問題がないので、PSコードだと思います。私もチェックしましたが、GCデルタはゼロです。

xboxにno-noのHLSL関数はありますか?私ここで何か間違ったことをしているに違いありません、パフォーマンスはそれほど悪くはありません!

以下はFractalBase.fxhです。

編集私はたくさんのlerpを使用して条件付きを削除しようとしましたが、それを実行すると、大量のアーティファクトが発生しました(「美術館に属する」種類ではありません!)。状況を変えて、いくつかの論理エラーを修正しましたが、重要なのは、0.9999 = 0(整数)になる丸め誤差を考慮して、GreaterThanの結果に1+イプシロンを掛けることでした。以下の修正コードを参照してください。

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

opengl-es - HYDRA (ピクセル ベンダー) sampleLinear の OpenGL ES 2 シェーダー言語アナログとは?

だから私はOpenGL ESシェーダーの仕様を調べますが、そのようなものは見当たりません...

たとえば、単純な「ピンチでズーム」、「回転して向きを変える」、「移動して中央に移動」の HYDRA ピクセル ベンダー フィルターを作成しました。フラッシュで実行できます。これは、デフォルトのピクセル ベンダーの回転の例との例に基づいています。

そこで、OpenGL ES シェーダーに移植したいと思います。math と parameters は OpenGL ES シェーダー言語に変換できますが、sampleLinear はどうすればよいですか? openGL ESシェーダー言語でアナログとは何ですか?

アップデート:

そこで、HYDRA フィルターに似たものを作成しました... webGL および OpenGL ES シェーダーと互換性があります...

それがどのように機能するかを確認するには、最新のブラウザーを取得し、shadertoyに移動して 1 つのテクスチャ (http://www.iquilezles.org/apps/shadertoy/presets/tex4.jpgたとえば) を提供し、コードを編集可能なテキスト aeria に貼り付けてヒットしここに画像の説明を入力ます...お楽しみください。だから..今、私は別の問題を抱えています...同じ画像のコピーではなく、1つの画像とその周りに黒を置きたいです...誰もそれを行う方法を知っていますか?

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

opengl - OpenGLピクセルシェーダー:(各ピクセルで)0と1のランダム行列を生成する方法は?

したがって、必要なのは単純です。シェーダーを実行するたびに(各ピクセルを意味します)、1sと0sのランダム行列を。で計算する必要がありresolution == originalImageResolutionます。そのようなことをどのように行うのですか?

今のところ、shadertoy用に1つ作成しました。ランダム行列の解像度はここで15 x 15に設定されています。これは、200 x 200のようなものを試してみると、GPUによってクロムが頻繁に落ちるためですが、実際には完全な画像解像度サイズが必要です。

そして、Adobeピクセルベンダー用のもの:

だから私の本当の問題は-私のシェーダーが私のGPUダイバーを落とすということです。私が今しているのと同じ目的でGLSLを使用する方法はありますが、失敗することなく、可能であればより速くなりますか?

更新: 私が作成したいのはシングルピクセルカメラ(google CompressiveImagingまたはCompressiveSensing)と呼ばれ、GPUベースのソフトウェア実装を作成したいと思います。

アイデアは単純です:

  • 画像があります- NxM
  • 画像のピクセルごとに、GPUに次の操作を実行させます。
    • NxMランダムな値の行列を生成する0-sと1s。
    • 座標がランダム行列のsの座標に対応する元の画像上のすべてのピクセルの算術平均を計算します1NxM
    • 算術平均の出力結果をピクセルカラーとして出力します。

シェーダーに実装しようとしたのは、その慎重なプロセスをシミュレートすることでした。

GPUでこれを行おうとすると本当に愚かなことは何ですか?

  • 圧縮センシングはNxM、そのような算術平均値の行列を計算するために私たちに背を向けることはありません、それはそれの平和を単に意味します(例えば1/3)。そのため、GPUに必要のないプレッシャーをかけました。ただし、より多くのデータでテストすることは必ずしも悪い考えではありません。
0 投票する
2 に答える
24826 参照

opengl - 頂点シェーダーとフラグメントシェーダーの両方でのgl_Colorとgl_FrontColorの関係は何ですか

パススルー頂点シェーダーとフラグメントシェーダーがあります。

頂点シェーダー

フラグメントシェーダー

それらは空のレンダリングを生成します(glClearBufferのように背景色ではなく黒)。

頂点シェーダーを変更してgl_FrontColorをgl_Colorに設定すると、そのままのOpenGlバッファーがレンダリングされます...パススルーシェーダーの予想される動作です。

混乱しています。頂点シェーダーのgl_FrontColorを設定すると、フラグメント1のgl_Colorの値がどのように変わるのでしょうか。私が欠けているものは何ですか?

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

wpf - ピクセル シェーダー効果を印刷できますか?

印刷したい WPF ユーザー コントロールがあります。私は XpsDocumentWriter でそれを行うことができます。次に、ピクセル シェーダー効果を適用します。コントロールにエフェクトが適用されていることがわかります。ただし、印刷しようとすると、出力は効果のないものと同じです。シェーダー効果を印刷することはできますか? ありがとう。