問題タブ [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.
c# - HLSL:問題のあるピクセルシェーダーコード(サンプリング時のゼロのアルファ)?
ピクセルシェーダーのサンプラーにこの奇妙な問題があります。サンプラーから空のfloat4変数にサンプリングすると、常に黒/透明色が返されます。したがって、これを使用すると、黒い画面が表示されます。
II代わりにこれを使用して問題なく動作します:
これは、AMD4850GPUを使用する自宅の開発環境でのみ発生します。いくつかのnVidiasまたはAMD5850で試してみると、どのような場合でも機能します...
これの理由は何ですか?デバイスの初期化を見逃しましたか?
乾杯!
directx - CG: ピクセルごとのライティングの何が問題になっていますか?
Unity と CG で基本的な n-dot-l ライティングを実行しようとしています。
私の理解では、カメラでオブジェクトを見る場所によって照明が変わるべきではありません。しかし、私の状況ではそうです。
このコードには何が欠けていますか?
モデルビュー マトリックスでもライトの位置を変換する必要がありますか?
ありがとう!
directx - DXGI_FORMAT_R8_UINT テクスチャにアクセスできません
カメラから送信された 8 ビット画像で計算を行いたいのですが、それらにアクセスする方法がわかりません。
以下は、テクスチャ オブジェクト/リソース ビューを作成するための私のコードです。
次のコードでテクスチャを更新します。
HLSL ファイル (クワッドを取り、画面上にクワッドとして表示):
これを実行しようとすると、エラー X4532: cannot map expression to pixel shader instruction set が表示されます
デバッグしようとすると、g_pCurrentImage のデータを見ようとすると、サーフェスを表示できないと表示され、それを
DirectX デバッガー (この場合は PIX) は最初の行を無視するだけで、最初の行に到達しないため、デバッグできません。これに対処する方法のオプションが不足しています。やりたいことは基本的な数学の指示だけですが、ピクセルシェーダーを完全に機能させることができません。
graphics - ピクセルレート効果を理解するのに役立ちます
私は HLSL が初めてで、ピクセレート サンプルを理解しようとしています。ただし、いくつかの操作がどのように行われるかについての参照を見つけることができませんでした。シェーダーの例を次に示します。
どのような計算が行われているのか理解できませんでした:
2 つのベクトル間の除算を計算する方法がわかりません。また、ベクトルのフロアを計算する方法もわかりません。(2 つの float2 を除算すると float2 が返されると想定しています)。
何か案が?
graphics - ジオメトリシェーダーの実行回数?
したがって、頂点シェーダーは頂点ごとに実行され、フラグメントシェーダーはフラグメントごとに実行されます(右?)。
ジオメトリシェーダーは何回実行されますか?
xna - xboxでのピクセルシェーダーのパフォーマンス
XNAで使用しているピクセルシェーダー(下)があります。私のラップトップ(くだらないグラフィックカード)では、少しぎくしゃくしますが、大丈夫です。xboxで実行してみたところ、ひどいです!
ゲームには何もありません(フラクタルレンダラーです)ので、問題の原因となるピクセルシェーダーである必要があります。また、反復を減らして問題がないので、PSコードだと思います。私もチェックしましたが、GCデルタはゼロです。
xboxにno-noのHLSL関数はありますか?私はここで何か間違ったことをしているに違いありません、パフォーマンスはそれほど悪くはありません!
以下はFractalBase.fxhです。
編集私はたくさんのlerpを使用して条件付きを削除しようとしましたが、それを実行すると、大量のアーティファクトが発生しました(「美術館に属する」種類ではありません!)。状況を変えて、いくつかの論理エラーを修正しましたが、重要なのは、0.9999 = 0(整数)になる丸め誤差を考慮して、GreaterThanの結果に1+イプシロンを掛けることでした。以下の修正コードを参照してください。
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つの画像とその周りに黒を置きたいです...誰もそれを行う方法を知っていますか?
opengl - OpenGLピクセルシェーダー:(各ピクセルで)0と1のランダム行列を生成する方法は?
したがって、必要なのは単純です。シェーダーを実行するたびに(各ピクセルを意味します)、1
sと0
sのランダム行列を。で計算する必要がありresolution == originalImageResolution
ます。そのようなことをどのように行うのですか?
今のところ、shadertoy用に1つ作成しました。ランダム行列の解像度はここで15 x 15に設定されています。これは、200 x 200のようなものを試してみると、GPUによってクロムが頻繁に落ちるためですが、実際には完全な画像解像度サイズが必要です。
そして、Adobeピクセルベンダー用のもの:
だから私の本当の問題は-私のシェーダーが私のGPUダイバーを落とすということです。私が今しているのと同じ目的でGLSLを使用する方法はありますが、失敗することなく、可能であればより速くなりますか?
更新: 私が作成したいのはシングルピクセルカメラ(google CompressiveImagingまたはCompressiveSensing)と呼ばれ、GPUベースのソフトウェア実装を作成したいと思います。
アイデアは単純です:
- 画像があります-
NxM
。 - 画像のピクセルごとに、GPUに次の操作を実行させます。
NxM
ランダムな値の行列を生成する0
-sと1
s。- 座標がランダム行列のsの座標に対応する元の画像上のすべてのピクセルの算術平均を計算します
1
NxM
- 算術平均の出力結果をピクセルカラーとして出力します。
シェーダーに実装しようとしたのは、その慎重なプロセスをシミュレートすることでした。
GPUでこれを行おうとすると本当に愚かなことは何ですか?
- 圧縮センシングは
NxM
、そのような算術平均値の行列を計算するために私たちに背を向けることはありません、それはそれの平和を単に意味します(例えば1/3
)。そのため、GPUに必要のないプレッシャーをかけました。ただし、より多くのデータでテストすることは必ずしも悪い考えではありません。
opengl - 頂点シェーダーとフラグメントシェーダーの両方でのgl_Colorとgl_FrontColorの関係は何ですか
パススルー頂点シェーダーとフラグメントシェーダーがあります。
頂点シェーダー
フラグメントシェーダー
それらは空のレンダリングを生成します(glClearBufferのように背景色ではなく黒)。
頂点シェーダーを変更してgl_FrontColorをgl_Colorに設定すると、そのままのOpenGlバッファーがレンダリングされます...パススルーシェーダーの予想される動作です。
混乱しています。頂点シェーダーのgl_FrontColorを設定すると、フラグメント1のgl_Colorの値がどのように変わるのでしょうか。私が欠けているものは何ですか?
wpf - ピクセル シェーダー効果を印刷できますか?
印刷したい WPF ユーザー コントロールがあります。私は XpsDocumentWriter でそれを行うことができます。次に、ピクセル シェーダー効果を適用します。コントロールにエフェクトが適用されていることがわかります。ただし、印刷しようとすると、出力は効果のないものと同じです。シェーダー効果を印刷することはできますか? ありがとう。