いつも勉強させていただいてます。
またまた質問させていただきたいことがあるのですが、
今まで自分はDXライブラリだけがプログラミングの者と思っていたのですが、
他にも、DirectXsdkというものがあると知りました。
そのことで質問なのですが、
・DXライブラリとDXSDKは何が違うのか。
・DirectXsdkもDXライブラリと同じような文法(?)でプログラミングできるのか
余談 何か分かりやすいwebサイト等ありますか(これは見過ごしていただいて結構です笑)
調べてみたのですが違い等良く分かりませんでしたので質問させていただきました。初歩的な質問で済みません。宜しくお願いします
DirectXSDKについて
Re:DirectXSDKについて
DXライブラリは DirectX SDK を使いやすく、そして画像や音声などのデータを扱いやすく機能を盛り込んだゲーム向きのライブラリです。
その代わり、現在ではほとんど使用されていない(現行ハードウェアが対応していない) DirectDraw という機能を描画処理に使用しているため、エフェクトが重くなりやすく、3D 描画処理に弱いなどの欠点があります。
その元となっている DirectX SDK では、高速な 3D 描画処理が行えるので、複雑なエフェクトでも比較的重くならないほか、現行のハードウェアが対応しています。
その分、複雑な初期化処理(ほとんど定型ですが)や、描画プロセスを自身で構築しなければならず、DXライブラリと比べれば格段に難易度は高いと言えます。
※ DirectDraw は、DirectX がバージョン 7 までサポートしていた機能で、現在の DirectX のバージョンでは
DirectDraw は存在しないため、それらを扱う関数などは存在しません。
余談の方ですが、DirectX SDK については下記のサイトがお勧めです。
ttp://marupeke296.com/GameMain.html
その代わり、現在ではほとんど使用されていない(現行ハードウェアが対応していない) DirectDraw という機能を描画処理に使用しているため、エフェクトが重くなりやすく、3D 描画処理に弱いなどの欠点があります。
その元となっている DirectX SDK では、高速な 3D 描画処理が行えるので、複雑なエフェクトでも比較的重くならないほか、現行のハードウェアが対応しています。
その分、複雑な初期化処理(ほとんど定型ですが)や、描画プロセスを自身で構築しなければならず、DXライブラリと比べれば格段に難易度は高いと言えます。
※ DirectDraw は、DirectX がバージョン 7 までサポートしていた機能で、現在の DirectX のバージョンでは
DirectDraw は存在しないため、それらを扱う関数などは存在しません。
余談の方ですが、DirectX SDK については下記のサイトがお勧めです。
ttp://marupeke296.com/GameMain.html
Re:DirectXSDKについて
ご回答ありがとうございます!
む、難しそうですよね・・・ヤッパリ
まずはDXライブラリをマスター(?)してから、DirectXに望んだほうが良さそうと思えたので
勉強しつつ頑張ってみます
ありがとうございました
む、難しそうですよね・・・ヤッパリ
まずはDXライブラリをマスター(?)してから、DirectXに望んだほうが良さそうと思えたので
勉強しつつ頑張ってみます
ありがとうございました
Re:DirectXSDKについて
DirectDraw という機能が DirectX のランタイムに残っている限り、対応していない PC でも動作します。
これは、ソフトウェアモードで動作(CPUでシミュレート)出来るようになっているためです。
もちろん、最新のランタイムに DirectDraw が含まれなくなった時が現在のDXライブラリで作ったゲームは動かなくなる、ということを意味しますが、
今のところ古いバージョンがランタイムに含まれないといったことは無いため、心配する必要は無いと思います。
ちなみに、Windows 7 (正確には現在公開されているランタイム)には DirectDraw の代わりとなる、 Direct2D がサポートされるそうです。
これは、ソフトウェアモードで動作(CPUでシミュレート)出来るようになっているためです。
もちろん、最新のランタイムに DirectDraw が含まれなくなった時が現在のDXライブラリで作ったゲームは動かなくなる、ということを意味しますが、
今のところ古いバージョンがランタイムに含まれないといったことは無いため、心配する必要は無いと思います。
ちなみに、Windows 7 (正確には現在公開されているランタイム)には DirectDraw の代わりとなる、 Direct2D がサポートされるそうです。