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

shader - シェーダー開発の開始

Microsoft の XNA を使用してゲーム開発を始めたいと考えています。その一部はシェーダーの開発ですが、どうやって始めればよいかわかりません。nVidia の FX Composerがシェーダーを開発するための優れたツールであることは知っていますが、実際に作業を開始する方法に関する有用で更新されたコンテンツはあまり見つかりませんでした。

どのチュートリアルをお勧めしますか?

0 投票する
5 に答える
3937 参照

c# - XNAでスプライトを白に着色するにはどうすればよいですか?

SpriteBatchのカラー設定を使用するだけではこれが不可能だと思うので、ピクセルのアルファ値を尊重しながら、すべてのピクセルを取得して白にする単純なシェーダーを作成しようとしています。

Joel Martinezが出した答えは正しいように見えますが、SpriteBatchを使用してスプライトを描画するときに、それをどのように組み込むのですか?

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

opengl - GPU で画像の類似度をカウントする [OpenGL/OcclusionQuery]

OpenGL。1 つの画像を描画し、次に XOR を使用して 2 番目の画像を描画したとします。今、私は黒以外のピクセルを含む黒のバッファをどこかに持っています。シェーダーを使用して GPU で黒の [ rgb(0,0,0) ] ピクセルをカウントできることを読みましたか?

また、OcclusionQuery で何かをしなければならないことも読みました。 http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt

それは可能ですか?[任意のプログラミング言語]

OpenGL/GPU を介して類似性を見つける方法について他のアイデアがある場合は、それも素晴らしいでしょう。

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

directx - MaxTextureRepeatの制限はどの時点で機能しますか?

Direct3Dでピクセルシェーダーを実行する場合、MaxTextureRepeatによって課されるテクスチャ座標の制限は、Tex2D()などのテクスチャルックアップ関数の呼び出し中にのみ問題になりますか、それともシェーダー内でテクスチャ座標にアクセスするたびに機能しますか?

テクスチャルックアップ関数に渡す前に、テクスチャ座標でfrac()のようなものを呼び出すことによって、MaxTextureRepeatの制限を回避できるかどうかを知りたいです。

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

c# - オフスクリーンビットマップへのPixelShaderの適用

私は現在、画像処理のパフォーマンスを向上させるために.net3.5sp1で導入されたPixelShadersを使用して実験しています。すべてがはるかに高速ですが、それでも、wpfフォームの一部の要素にエフェクトを適用しただけで、実際には避けたいと思っています。

たくさんの画像処理機能があります。パフォーマンスを上げるために、他のものをピクセルシェーダーに少しずつ置き換えたいと思います。そのようなピクセルシェーダーを表示せずにImageSourceに適用する方法はありますか?

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

c# - glProgramStringARB により GL_INVALID_OPERATION....またはフラグメント プログラムのヘルプが発生する

テクスチャを取得し、テクセルを 2 つの値の間でクランプするフラグメント プログラムを作成しようとしています。つまり、最小値が 0.2 で最大値が 0.6 の場合、0.2 未満のテクセルは 0 になり、0.6 より大きいテクセルは 1.0 になり、その間のすべての値は 0 から 1.0 にマップされます。

私の glProgramStringARB への呼び出しは、GL_INVALID_OPERATION の原因です。なぜこれが起こっているのか理解できないようです。助けてください。

シェーダーを書くのはこれが初めての試みなので、何をしているのか完全にはわかりません。これが私のコードです:

それを使用するには、次のようにします。

0 投票する
4 に答える
11653 参照

java - Jogl シェーダー プログラミング

Shader プログラミング (GLSL) を始めたばかりで、RenderMonkey でいくつか作成しました。今、私は Java コードでこのシェーダーを使用したいと考えています。私がそれを行う方法の簡単な例はありますか?

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

shader - HLSLにGLSLのftransform()変換はありますか?

GLSL頂点シェーダーを使用する場合、シェーダーを固定関数パイプラインとして機能させる方法は、次のように呼び出すことです。

ftransform();

働き。HLSLの頂点シェーダーに同様の機能はありますか?

ありがとうございました

0 投票する
4 に答える
26039 参照

opengl - OpenGL では、シェーダー プログラムで使用されるすべてのユニフォームと属性のリストを取得する方法はありますか?

シェーダー プログラム オブジェクトで使用されるすべてのユニフォームと属性のリストを取得したいと考えています。 glGetAttribLocation()&glGetUniformLocation()を使用して文字列を場所にマップできますが、本当に欲しいのは、glsl コードを解析する必要のない文字列のリストです。

注: OpenGL 2.0 ではglGetObjectParameteriv()、 は に置き換えられglGetProgramiv()ます。そして列挙型はGL_ACTIVE_UNIFORMS&GL_ACTIVE_ATTRIBUTESです。

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

graphics - ハードウェアで生成されたプリミティブとの衝突検出

衝突検出に関する文献はたくさんありますが、ほとんどの手法にかなり精通しているので、少なくともそのかなりの部分を読んだことがあります。ただし、しばらくの間、私にはわかりにくいことがあります。StackOverflowを使用すると、多数の優秀な頭脳に一度にアクセスできるため、本棚を掘り下げる前に、まずここで質問したいと思います。

この時代では、CPUではなくGPUに委任される作業が増えており、多くの場合、これは良いことです。たとえば、新しいジオメトリを作成するためのジオメトリシェーダー、または(少し新しいですが、それでも非常に魅力的な)頂点シェーダーがあり、そこに多数の頂点を通過でき、そこからエレガントなものが生まれます。これらのプリミティブはグラフィックハードウェアにのみ存在するため、私が検討していたことは、これらのプリミティブとの信頼性の高い衝突検出をどのように実行するのでしょうか。ある種の非常に単純化されたメッシュが頂点シェーダーで置き換えられていると仮定しましょう(具体的な問題はありません。アイデアをもっと試していますが、ジオメトリシェーダーについてはまだ深く理解していません)。

これまで私が考えてきたのは、適切な角度からパスを分離し、シェーディングを多かれ少なかれオフにし、おそらく低解像度のメッシュで、2番目のプリミティブの内側(面を内側に反転)をレンダリングしたいメッシュと一緒にレンダリングすることです。メッシュに対してテストし、オクルージョンクエリを実行します。メッシュが完全に隠れている場合、交差はありません。もちろん、これには2番目のプリミティブが凸である必要があります。

どういうわけか、この種のテストは、プリミティブの数が増えるにつれて(大部分を直接カリングできる場合でも)非常に高価になると感じています。他の誰かが別のアイデアやテクニックを持っていますか?私はdirectxよりもopenglとcgに精通していますが、directxにいくつかの例があれば、openglの対応物を理解できると思います。

すべてのアイデアに感謝しますので、ブレインストーミングしてください。:)