この章では、DirectXについての基本と、プログラム上でDirectDrawを利用する方法を学ぶ。
DirectXはMicrosoftが作成した
マルチメディア開発用ライブラリであり、娯楽などを目的としたWindowsベースのアプリケーションを作成する場合は著作権料を払わずに使用できる。DirectXはさまざまな種類のハードウェアデバイスを専用のインターフェースではなく、標準的なソフトウェアインターフェースを提供するため、ほとんどの状況で開発者がこれらの問題を意識することなくプログラムできる。
- 1995年9月のWindows95発表と同時に「GAME SDK(Software Development Kit)」という名称で発表された。
- 当時はビデオカードの制御を行うための機能のみであった。
- その後、毎年のようにバージョンアップが行われ、現在はVersion 8である。
- DirectX8ではDirectDrawが廃止され、3Dに特化した。
- Q:今何故DirectX7を勉強するのか?
- A:3Dは2Dの延長であり、
2Dをマスターしないと3Dが理解できない。
(1)DirectX SDK(基盤コンポーネント)
DirectXの基礎となる各クラスが含まれている。これらのクラスはマルチメディアの開発要件の大部分を満たしている。
- DirectDraw
- ビデオメモリへの効率的なアクセスを提供する。ゲームソフトウェアでスムーズなアニメーションを実現できる。
- Direct3D直接モード(IM)
- 3Dアクセラレータの最新技術を駆使して、3Dシーンのハイ・パフォーマンスなレンダリングを実現する。
- DirectSound
- 3Dサウンドエフェクトを含むオーディオ再生(WAVEファイル)とミキシングを提供する。
- DirectMusic
- インタラクティブミュージックの機能(MIDIファイル)を提供し、ゲームアクションに合わせて変化するサウンドトラックを提供する。
- DirectInput
- キーボード、マウス、またはゲームデバイス(ジョイスティックなど)からの入力を可能にする。フォースフィードバックデバイスのサポートも含まれる。
- DirectPlay
- インターネットやLAN(ローカルネットワーク)などによる直接接続を解したマルチプレイヤーゲームのための通信機能を提供。
(2)DirectX Media SDK(ややアプリよりのコンポーネント)
DirectX SDKの基礎クラスを補足するマルチメディアエクステンションを提供する。
- DirectX Transform
- アルファブレンディングやサーフェイスの歪曲など、ダイナミックな2Dまたは3Dのグラフィックス効果をアプリケーションで作り出すことができる。Webコンテンツ、エンターテイメントソフトウェア、Adobe PhotoShop用のフィルタ作成ソフトウェアなど、数多くのアプリケーションが含まれている。
- DirectAnimation
- HTMLページにDirectXアプリケーションを埋め込む手段を提供する。
- DirectShow
- DirectXにビデオ機能を追加する。
- Direct3D保持モード(RM)
- シーンの作成とレンダリングを行うインターフェースを提供し、3Dハードウェアへのアクセスを容易にする。