C#は電気羊の夢を見るか?(引っ越し中)

dtiブログが閉鎖とのことでhttp://tanocs.blog.fc2.com/へ引っ越します。

シェーダについて

先日ピクセルシェーダでは遅いというような記事を書いたが、
もう少し掘り下げて調査をしてみると、どうやらその考え方はかなり古いようです。

現在のGPUは統合シェーダという設計思想に基づいてハードが設計されており、
〜シェーダ用をN基とかそういう実装では無いそうで・・・


プログラマ側からしてみると、バーテックスシェーダやピクセルシェーダと言う区切りで各処理を実装していくと思う。

しかし、そういう処理のステップでその処理を行うというだけで、
物理的に処理を行うチップがどうこうという訳ではなくなっていたというわけ。
(※とりわけ最新事情というわけではなく、この設計思想は5年以上昔の話です)


結局、長い間DirectX9がソフトのシェアを握りっぱなしになっていて、
そのへんの情報に鈍感になっていたのだなぁと思う。

しかしながら、XNAはまだDirectX9系のままな訳で、
ジオメトリシェーダは使用できないままというのも現状なんだよなぁ
・・・

実際のところ、OSレベルでの切り替えが進まないとDirectX10以降でゲームを開発しても
結局それが販売に繋がらなくなってしまう。

じゃぁ、一体いつになればジオメトリシェーダを大手を振って使えるようになるかと言えば、
それはまだ3年以上先の話なんじゃないだろうか・・・


ピクセルシェーダでの実装に話を戻すと、統合シェーダという設計思想や、ピクセルシェーダ後期の状態を見ればあながち間違いではないような気がする。(と言うよりむしろ、そちらのほうが主流のように思う)


しかし、データの転送にテクスチャを用意しなければならないし、
その使用制限もきつい、さらに言えば処理済みの結果を使うチャンスが残されていない。

何よりループ処理に処理を食われてしまう問題から逃げるのに労力を取られる気がする・・


しかしながら、ピクセルシェーダのほうが負荷数が非常に大きいことから、並列化、高速化、最適化はピクセルシェーダのほうが進んでいるように書かれている文献も多く見られた。

これは統合シェーダとしてみた時にも通用するアーキテクチャなのか不明なんだけど、
その流れがあったことを考えれば、最適化はされているような気がする。


個人的にはプログラムのしやすいバーテックスシェーダ優秀説を唱えたいのだが、
実際のところはどうなんじゃろうか・・
このエントリーをはてなブックマークに追加
LINEで送る

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://t01a.dtiblog.com/tb.php/124-66191f9b

« GPGPUの現状  | HOME |  のっぴきいかねぇ »

PAGE TOP ▲

Appendix

■春条

■春条

生息地は愛知
車と甘い物が好きな31歳
特技は無限昼寝

MONOからSharpDXを使う
変態的な手法で、
.NET Frameworkを使わずに
ゲーム作りやってます。

Search

Calender

« | 2018-08 | »
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

Twitter

Recent Entries

DTIブログポータルへ
このブログを通報
Report Abuse

利用規約