こんにちは。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の両方のソースで書かれているため、どちらでも勉強はできそうです。
以上煩雑になってしまったかも知れませんが、お返事のほどお願いします。
なお、初学者のため根本的に間違った考え方自体あるかもしれませんが、その時はご指摘いただけると幸いです。
DirectXのバージョンについて
-
ターボ
Re: DirectXのバージョンについて
質問とは違いますが参考になればと思ってレスします。私はDirectXについてあまり詳しくないのですが、お金をかけなくても↓のようなのを使えばDirectx9.0の勉強ができると思います。とりあえずこれで勉強してみてはいかがでしょうか?
http://db.tak2ch.jp/other/pdf/directx9. ... h='directx pdf'
http://db.tak2ch.jp/other/pdf/directx9. ... h='directx pdf'
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DirectXのバージョンについて
DirectX9は廃止される方向にはなっています。
ただ、一応Windows7でもDirectX9対応のゲームは作れますので後数年で無くなるとは思えないです。
覚えたことが無くなるのを恐れられているみたいですがプログラミングの世界は新しい技術に対応していくのが常ですので消える技術は絶対にあります。
そのために消えそう・変わりそうな技術はライブラリなど別のモジュールにして今後の変化に耐えうる構造を構築していく工夫もして然るべきです。
良い勉強になるので、そういう事も考えられたらどうでしょうか? 今後のことを考えると64bit対応も視野に入れないと行けませんし。
で、Windows7導入の件ですがDirectX9/10/11の範囲でGPUの対応範囲で利用できると思います。、ただ、GPUが10対応なので10を超える機能は使えません。
GeForce 9600GTは古いので一部シミュレーションだった気もします。あと10.1には対応していなかったはず。
ただ、一応Windows7でもDirectX9対応のゲームは作れますので後数年で無くなるとは思えないです。
覚えたことが無くなるのを恐れられているみたいですがプログラミングの世界は新しい技術に対応していくのが常ですので消える技術は絶対にあります。
そのために消えそう・変わりそうな技術はライブラリなど別のモジュールにして今後の変化に耐えうる構造を構築していく工夫もして然るべきです。
良い勉強になるので、そういう事も考えられたらどうでしょうか? 今後のことを考えると64bit対応も視野に入れないと行けませんし。
で、Windows7導入の件ですがDirectX9/10/11の範囲でGPUの対応範囲で利用できると思います。、ただ、GPUが10対応なので10を超える機能は使えません。
GeForce 9600GTは古いので一部シミュレーションだった気もします。あと10.1には対応していなかったはず。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Integral
Re: DirectXのバージョンについて
お二人の回答を見て考えたのですが、結局DirectX9を勉強してみて、必要ならば10や11を学習することに決めました。
OSまで入れ替えて結局ものにできなかったことのリスクを考えるとあまり気が進まないというのも確かにありますが、softyaさんのおっしゃるように技術は変わっていくものですから、その変遷をたどって少しでも自分のスキル向上につながればよいのではないかと思うようになりました。
ターボさんも教材のリンクありがとうございました。中古の本を購入して学習しようとは思っているのですが、それまでの学習は教えてもらったpdfでしていこうと思ってます。
またわからないことがあれば質問させていただきます。
お返事ありがとうございました。
OSまで入れ替えて結局ものにできなかったことのリスクを考えるとあまり気が進まないというのも確かにありますが、softyaさんのおっしゃるように技術は変わっていくものですから、その変遷をたどって少しでも自分のスキル向上につながればよいのではないかと思うようになりました。
ターボさんも教材のリンクありがとうございました。中古の本を購入して学習しようとは思っているのですが、それまでの学習は教えてもらったpdfでしていこうと思ってます。
またわからないことがあれば質問させていただきます。
お返事ありがとうございました。