DirectXのバージョンについて
Posted: 2012年1月21日(土) 13:39
こんにちは。DirectXプログラミングの学習を始めようと思っている者です。
先日、「DirectX10/11 PROGRAMMING(鎌田茂雄著)」という本を購入し、試しにサンプルプログラムをコンパイルしたところ、ヘッダがないだのDLLがないだのDirectXに関するエラーが立て続けに出てきました。四苦八苦しながら調べた末、自分の環境(WindowsXP)がDirectX9よりもあとのバージョンに対応していないからだということを知りました。そこで、生じたいくつかの疑問について質問させていただきます。
なお、DXライブラリの存在は知っておりますし、それを使えば自分のような初心者でも簡単にゲームを作ることが可能であることもよく分かります。あえて使わないのは単に勉強してみたいからです。ですから、「DirectXそのものを勉強するよりDXライブラリを勉強すればよいのでは?」という回答はなしでお願いします。
念のため、必要と思われる現在の開発環境を書いておきます。
(もし情報が足りていなければすぐに追加いたします。)
OS:Microsoft Windows XP Home Edition Version2002 Service Pack 3
CPU:Intel(R) Core(TM)2 Quad CPU Q8200 @2.33GHz
メモリ:4GBytes
グラフィックカード:NVIDIA GeForce 9600GT
コンパイラ:Microsoft Visual C++ 2010 Express
以下、質問です。
1.これから勉強すべきバージョンは?
調べたところDirectX9から10にかけては相当な変更点があるみたいですが、近い将来DirectX9が廃止される可能性もあるのでしょうか?
10/11ではなくDirectX9を勉強するという選択肢もあるとは思うのですが、DirectX9の解説書も最近入手しづらくなってきているように思います。
(ネットで見た記事では、解説書よりもSDKのチュートリアルを見たほうがよいと書いてあるものもありましたが、自分にはあれだけ見ても理解する自信がありません。)
それにせっかくDirectX9を勉強し終わったところで、ゲームを作っても配布できなければ悲しいなと思います…。
これらのことを踏まえて、これから勉強を始める上で選択すべきバージョンについての意見を聞かせてください。
2.DirectX10/11を学習する上でのマシンスペックは?
DirectX11に対応できるくらいのマシンを迷いなく変えるくらいの経済力があればいいのですが、学生のため極力出費は抑えたいです。
調べたところ、
DirectX10→Windows Vista
DirectX11→Windows 7
という対応があることが分かりました。
ただ、今自分が持っているグラフィックカードがDirextX10までにしか対応していないとのことでした。
そこで、OSのみをアップデートすれば、少なくともDirectX10まではコンパイルできるようになるはずです。
ただVistaは評判の悪さからあまり気が進まないので、買うとしたらWindows7だなと思いました。(新しいマシンに引っ越したときのためにも)
しかし、疑問に思うのはOS、グラボ、DirectXの対応関係です。
Windows7 × GeForce 9600GT × DirectX10
という組み合わせでは動くのでしょうか。この場合OSのみDirectXのバージョンに合っていないですが、上位のOSなのでカバーされているのでしょうか?
Windows7 × GeForce 9600GT × DirectX11
この組み合わせでは、グラボのみがDirextXのバージョンに合っていません。コンパイルした場合、エラーになってしまうのでしょうか?それとも一部無視されるのでしょうか?
幸い、今手元にある本のサンプルプログラムはDirectX11でのみ使えるプログラムを除き、一般的な部分では10と11の両方のソースで書かれているため、どちらでも勉強はできそうです。
以上煩雑になってしまったかも知れませんが、お返事のほどお願いします。
なお、初学者のため根本的に間違った考え方自体あるかもしれませんが、その時はご指摘いただけると幸いです。
先日、「DirectX10/11 PROGRAMMING(鎌田茂雄著)」という本を購入し、試しにサンプルプログラムをコンパイルしたところ、ヘッダがないだのDLLがないだのDirectXに関するエラーが立て続けに出てきました。四苦八苦しながら調べた末、自分の環境(WindowsXP)がDirectX9よりもあとのバージョンに対応していないからだということを知りました。そこで、生じたいくつかの疑問について質問させていただきます。
なお、DXライブラリの存在は知っておりますし、それを使えば自分のような初心者でも簡単にゲームを作ることが可能であることもよく分かります。あえて使わないのは単に勉強してみたいからです。ですから、「DirectXそのものを勉強するよりDXライブラリを勉強すればよいのでは?」という回答はなしでお願いします。
念のため、必要と思われる現在の開発環境を書いておきます。
(もし情報が足りていなければすぐに追加いたします。)
OS:Microsoft Windows XP Home Edition Version2002 Service Pack 3
CPU:Intel(R) Core(TM)2 Quad CPU Q8200 @2.33GHz
メモリ:4GBytes
グラフィックカード:NVIDIA GeForce 9600GT
コンパイラ:Microsoft Visual C++ 2010 Express
以下、質問です。
1.これから勉強すべきバージョンは?
調べたところDirectX9から10にかけては相当な変更点があるみたいですが、近い将来DirectX9が廃止される可能性もあるのでしょうか?
10/11ではなくDirectX9を勉強するという選択肢もあるとは思うのですが、DirectX9の解説書も最近入手しづらくなってきているように思います。
(ネットで見た記事では、解説書よりもSDKのチュートリアルを見たほうがよいと書いてあるものもありましたが、自分にはあれだけ見ても理解する自信がありません。)
それにせっかくDirectX9を勉強し終わったところで、ゲームを作っても配布できなければ悲しいなと思います…。
これらのことを踏まえて、これから勉強を始める上で選択すべきバージョンについての意見を聞かせてください。
2.DirectX10/11を学習する上でのマシンスペックは?
DirectX11に対応できるくらいのマシンを迷いなく変えるくらいの経済力があればいいのですが、学生のため極力出費は抑えたいです。
調べたところ、
DirectX10→Windows Vista
DirectX11→Windows 7
という対応があることが分かりました。
ただ、今自分が持っているグラフィックカードがDirextX10までにしか対応していないとのことでした。
そこで、OSのみをアップデートすれば、少なくともDirectX10まではコンパイルできるようになるはずです。
ただVistaは評判の悪さからあまり気が進まないので、買うとしたらWindows7だなと思いました。(新しいマシンに引っ越したときのためにも)
しかし、疑問に思うのはOS、グラボ、DirectXの対応関係です。
Windows7 × GeForce 9600GT × DirectX10
という組み合わせでは動くのでしょうか。この場合OSのみDirectXのバージョンに合っていないですが、上位のOSなのでカバーされているのでしょうか?
Windows7 × GeForce 9600GT × DirectX11
この組み合わせでは、グラボのみがDirextXのバージョンに合っていません。コンパイルした場合、エラーになってしまうのでしょうか?それとも一部無視されるのでしょうか?
幸い、今手元にある本のサンプルプログラムはDirectX11でのみ使えるプログラムを除き、一般的な部分では10と11の両方のソースで書かれているため、どちらでも勉強はできそうです。
以上煩雑になってしまったかも知れませんが、お返事のほどお願いします。
なお、初学者のため根本的に間違った考え方自体あるかもしれませんが、その時はご指摘いただけると幸いです。