本当なら質問掲示板でするようなことかもしれませんが、せっかくなのでここで質問させて頂きます。
私は今までDirectx9の固定パイプラインを使っていましたが(そして固定パイプラインの便利さに感動してましたw)、今度時間が有るときにシェーダーを覚えようと思っています。そこでシェーダーを使うんだったらこの機会にdirectx10に移ってみようかとも思ったのですが、9のままシェーダーを使うのと10へ移行するのとで、どちらにするか少し考えています。前から、そのうちdirectx10か11を使ってみようとは思っていたのですが、移行すると今までdx9用に書いたものを書き直す必要があり、またどちらの方が使いやすいかと言う点も含めて考えています。
そこで皆さんに質問なのですが、directx9のままシェーダーを使用するのと、10に移っていじり始めるのとではどちらが良いと思いますか?
また、自分だったらこうすると言うのは有りますか?
ちなみに今の所directxの使用用途は主にグラフィックスプログラミング関係の物を色々と試すことなのでゲーム開発のことはあまり考えていませんが、それを含めた意見はぜひ聞きたいです。
投げやりっぽい質問ですが、雑談を含めた質問なので個人的な意見などをお待ちしています。
directx9から10への移行について
directx9から10への移行について
“Good code is its own best documentation.” (Steve McConnell)
Re: directx9から10への移行について
私的には10より11を勧めます。
理由は簡単で、実は11の方がバージョン対応範囲が広い(ハードウェア対応バージョンが9でも使うことが出来る)からです。(正確に言うと10.1からですが)
ただし、描画に使用するシェーダー言語のバージョンも変わる為、マルチバージョン対応をするには、各バージョン用のシェーダーを書かなくてはならない為、
とあるバージョンのみに限定した方が非常に楽になります。
また、10と11では、APIの基本構造はほぼ同じで、11は10の機能にマルチスレッド対応の為のAPI構成を用意した形となっています。
(内部的にも11は10のサブセットになっていますし)
ただ、上記に書いたとおり、11はマルチスレッドに対応したバージョンで、シェーダーが10から2種類(Hull Shader と Domain Shader)増えている以外、今のところ特に大きな利点はありません。
なので、全種類のシェーダーを覚えること前提でなければ、10.1を使用した方が無難だとおもいます。
理由は簡単で、実は11の方がバージョン対応範囲が広い(ハードウェア対応バージョンが9でも使うことが出来る)からです。(正確に言うと10.1からですが)
ただし、描画に使用するシェーダー言語のバージョンも変わる為、マルチバージョン対応をするには、各バージョン用のシェーダーを書かなくてはならない為、
とあるバージョンのみに限定した方が非常に楽になります。
また、10と11では、APIの基本構造はほぼ同じで、11は10の機能にマルチスレッド対応の為のAPI構成を用意した形となっています。
(内部的にも11は10のサブセットになっていますし)
ただ、上記に書いたとおり、11はマルチスレッドに対応したバージョンで、シェーダーが10から2種類(Hull Shader と Domain Shader)増えている以外、今のところ特に大きな利点はありません。
なので、全種類のシェーダーを覚えること前提でなければ、10.1を使用した方が無難だとおもいます。
This article was written by "Mitsunagi".
Re: directx9から10への移行について
せっかく覚えたDirectX9の知識が勿体ない気がするので、
DirectX9でシェーダーを勉強するのでいいんじゃないでしょうか?
DirectX10,11でどれだけ構成が変わってるのか把握してませんが、
また一から勉強することになるとそれだけでかなり面倒な気がします。
シェーダーにたどり着くまでにまた相当の時間を要すると思います。
DirectX9もまだまだ使われると思いますし、10,11はビデオカードやOSが対応してなければ使えなかったりすると思うので、
慣れるという軽い感覚でDirectX9でシェーダーを勉強したほうがよいかなと僕は思いました。
たぶんシェーダーを理解してしまえば、その後10、11を一から勉強することになったとしても、
案外すんなり入れるのではないかと思います。
以上、ど素人からの意見でした><
DirectX9でシェーダーを勉強するのでいいんじゃないでしょうか?
DirectX10,11でどれだけ構成が変わってるのか把握してませんが、
また一から勉強することになるとそれだけでかなり面倒な気がします。
シェーダーにたどり着くまでにまた相当の時間を要すると思います。
DirectX9もまだまだ使われると思いますし、10,11はビデオカードやOSが対応してなければ使えなかったりすると思うので、
慣れるという軽い感覚でDirectX9でシェーダーを勉強したほうがよいかなと僕は思いました。
たぶんシェーダーを理解してしまえば、その後10、11を一から勉強することになったとしても、
案外すんなり入れるのではないかと思います。
以上、ど素人からの意見でした><
oui C'est la Vie♪
Re: directx9から10への移行について
DirectX10はVista以降必須、10対応ビデオカード必須。
DirectX11(10.1以降?)はVista以降必須、9,10対応ビデオカードはエミュレーションで対応。
勉強するならネイティブ対応した環境が良いです。
知識や経験としては順番にステップアップしても無駄にならないと思います。
DirectX11(10.1以降?)はVista以降必須、9,10対応ビデオカードはエミュレーションで対応。
勉強するならネイティブ対応した環境が良いです。
知識や経験としては順番にステップアップしても無駄にならないと思います。
Re: directx9から10への移行について
皆さん意見ありがとうございます。
>>御津凪さん
なるほど、実際に使ったこと有る人の意見を聴けて色々と参考になりました。11は10よりも興味は有ったのですが、グラフィックスカードが10.0までしか対応していないので今まで見送ってました。
>>Cielさん
確かにそう思える部分も有るんですよね。ただ、固定パイプラインを使うと大体の事をやってくれているのでどちらを選んでも色々と書き直す必要が有るんですよね。
>>ISLeさん
順番にステップアップとはあまり考えていませんでしたが、それも確かに経験としては良さそうですね。
御津凪さんもAPIの基本構造はほぼ同じと言ってましたので、10へ移行してそれから11に行くのも良いかも知れませんね。
>>御津凪さん
なるほど、実際に使ったこと有る人の意見を聴けて色々と参考になりました。11は10よりも興味は有ったのですが、グラフィックスカードが10.0までしか対応していないので今まで見送ってました。
>>Cielさん
確かにそう思える部分も有るんですよね。ただ、固定パイプラインを使うと大体の事をやってくれているのでどちらを選んでも色々と書き直す必要が有るんですよね。
>>ISLeさん
順番にステップアップとはあまり考えていませんでしたが、それも確かに経験としては良さそうですね。
御津凪さんもAPIの基本構造はほぼ同じと言ってましたので、10へ移行してそれから11に行くのも良いかも知れませんね。
“Good code is its own best documentation.” (Steve McConnell)