0.はじめに
〜DirectXって何?〜



 DirectXとは、分り易く言えばハードウェアの性能を最大限に引き出すということです。DirectXがない状態でソフトを開発しようとすると、すべてのハードウェアが持っている機能のみが使えるようになります。つまり、ハードウェアの拡張機能が全く使用されないという事になります。これでは、せっかくン万円もかけて買ったビデオカードが泣くというものです。
 しかし、DirectXには、あらゆるビデオカードのアクセラレータ機能が使用できるAPIが用意されています。ビデオカードのハードウェアがその機能を持っている場合は処理をハードウェアに任せ、無い場合は自動的に切り替えてソフトウェアが処理を代行します。処理の切り替えはDirectXが行うため、プログラムを制作する側は処理の対策を考える必要が無くなります。しかし、処理速度はユーザのシステムによって左右されてしまいます。


 ソフト開発にあたり、DirectXは開発者側の負担を減らします。開発するプログラムは1つで充分だからです。あるユーザのハードウェアがA社のもので、それに合わせてプログラムを書いたら、他のユーザはB社のシステムを使用していた・・・DirectXが無ければ、それぞれのユーザのシステムに合わせてプログラムを書かなければいけなくなります。簡単に、高性能なソフトを作る事が出来る、これがDirectXを使う最大の理由です。


 DirectXの歴史は・・・ここでは特に必要としないので書きません。現在の最新バージョンが、Ver7.0aである事を覚えておけば十分です。最新バージョンのDirectXには必ず旧バージョンのプログラムが動くように対応しています。一度書いたプログラムをバージョンに対応させて更新する必要はありません。(新バージョンに対応させた方が処理が向上するという利点はありますが)


 さて、ここでDirect3Dの話です。Direct3Dは、DirectXの機能の一つで名前の通り3D処理に用いられます。3D処理は数学的な事が多く、かなり複雑になる事請け合いです。特にプログラムにおいては数学が出来なければプログラムが書けない位の物です。出来るだけ減らすつもりですが、数学的な問題はその都度説明します。
 Direct3DにはIM(Immediate Mode:直接モード)とRM(Retained Mode:保持モード)の2種類があります。IMは通常RMからコールする形で使われます。しかし、IMモードで描いた方が描画速度は上昇します。IMがビデオカードに直接アクセスする、例えれば「アセンブラ」のような物だからです。今後はIMが主流になるようですが、記述の容易さを考えて、今回はRMモードを用いる事にします。(ただ単にIMが分らないからじゃないのか、等の苦情は受け付けません(笑)


 開発環境はMicrosoft Visual C++及びMicrosoft DirectX7.0a SDKを用います。Visual C++は店頭で入手して下さい。学生ならばアカデミーパックが利用できます。
 また、DirectX7.0a SDKは、マイクロソフトのホームページ内、DirectX Developer Centerよりダウンロードが出来ます。ここにはDirectXに関する記述が多く、SDKのヘルプファイルもダウンロード可能です。ソフトを開発するに当たり、一度は足を運んで下さい。
 今回はVC++を用いてソフトを開発しますが、VisualBasicでもDirectXのソフトは開発可能です。一度挑戦しようと思います。
 当然の事ですが、DirectXを使用するためにはそれなりに高性能なビデオカードが必要です。いっそのこと、いいビデオカードを買ってしまいましょう。初期投資は惜しまないほうが後々便利になります。



まとめ
・DirectXは開発者の負担を軽減し、より高性能なソフトの開発を助ける
・いいソフトを作るにはそれなりに投資が必要である

関連リンク
DirectX Developer Center



電脳館
written by みや
Last Update 2000.10.22



戻る


Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!