Cg?を使用してフラグメント(ピクセル)シェーダのピクセル座標を変更することは可能ですか?このような機能が第2世代または第3世代のシェーダで利用できるようになったと確信していますが、私はどのようなプロファイルが正確か、それを行う方法がわかりません。Cgフラグメントシェーダのピクセル位置を変更/置き換える方法は?
1
A
答えて
1
いいえ、できません。
フラグメントシェーダで変更できる座標はZで、Zバッファに入ります。それにパフォーマンスにも影響があります(階層的Zなど)。
XおよびYの位置は、フラグメントシェーダが実行される前に設定されます(Rasterizer)。典型的なラスタライザは、実際には少なくとも2x2のピクセルのチャンクを生成し、ハードウェアは実際にはピクセルを個別に処理するわけではありません。
このタイプの機能を模倣する傾向がある人は、必要以上に多くのピクセルを生成し、余分なピクセルを破棄することが多い傾向があります。
聞いたことがあるのはテッセレーションですこれはフラグメントシェーダの一部として行われるのではなく、パイプラインの別の部分であり、追加のジオメトリを生成できます。
最終的に、どのようなテクニックを使用できるかは、達成しようとしているものによって決まります。しかし、XとYのブランケット修正は、ハードウェアがそれを行うことができないため、Cg、OpenGL、またはDirectXの中のさまざまなAPIによってサポートされたことは一度もありません。
1
リアルタイムでビットマップの実際のピクセルを変更することはできませんが、U/V座標マッピングを置き換えることができ、各ピクセルがマップされるポイントが変更されます。
赤と緑の勾配としてUVマッピングを想像してください。赤はX位置マッピングを表し、緑はY位置マッピングを表す。これらの座標にパーリンノイズなどを乗算すると、マッピングがオフセットされるため、ピクセルも同様にオフセットされます。
関連する問題
- 1. Googleマップの同じ位置にマーカーを置き換える方法は?
- 2. 文字列をデフォルトの位置から置き換える方法は?
- 3. powershellスクリプトでアセンブリバージョンの3番目の位置を置き換える方法
- 4. SVGイメージを置き換える方法またはdivコンテンツを置き換える方法は?
- 5. tomcatのクラスファイルを置き換えて変更を反映する方法は?
- 6. VBでのカーソル位置をピクチャボックスの位置に変更する方法
- 7. GLSLをCGで置き換えることは可能ですか?
- 8. 等角タイルマップでマウスの位置を変換する方法は?
- 9. javaメソッドの変数を置き換える方法
- 10. Qtアプリケーションアクセントのピクセル位置
- 11. R.drawable。someStringの置き換え方法
- 12. 位置によってテキストを置き換えますか?
- 13. 位置を変えずにメッシュをスケールする方法は?
- 14. web.config変換でIIS書き換えルールを置き換える
- 15. Xcode 7.3で位置の変更をシミュレートする方法は?
- 16. Crystalレポートの位置を動的に変更する方法は?
- 17. マップを置換せずにマップ内のマルチパートメッセージスキーマを置き換える方法
- 18. char []の配列文字を変更して置き換える
- 19. フォームの位置の変更
- 20. QGraphicsPixmapItemからピクセル位置と色を表示する方法
- 21. 地理位置の変更
- 22. iphone sdkの別のボタンに1つのボタンをドラッグしてボタン位置を置き換える方法
- 23. オブジェクトを現在の位置から別の位置に変換する方法はありますか?
- 24. usbioctl.hの置き換え方は?
- 25. qt.confの置き換え方は?
- 26. Zend_Authの置き換えは?
- 27. キャンバスの原点の位置を変更する方法
- 28. GoogleのPieChart pieSliceTextの位置を変更する方法
- 29. arcgisの情報ウィンドウの位置を変更する方法
- 30. Rのsubを使って '('、 ')'を置き換える方法は?
OKどうやってCGでzを修正できますか? Displacementは私が推測する正しい言葉です...私はどのようにzの位置を渡してそれを変更するのですか? –
DEPTHセマンティック(浮動小数点型)でZを変更できます。 "[,,,]デフォルト値はラスタライザから得られた補間された深さです。意味的に、このデフォルト値はフラグメントプログラムの実行開始時に出力にコピーされます。 – Bahbar