Microsoft DirectX
読み:マイクロソフト-ダイレクトエックス
外語:Microsoft DirectX
Microsoft
が開発した、
Microsoft Windows
用の
マルチメディア
処理
API
群。Windows 95 OSR2以降、およびWindows NT 4.0 SP3以降から標準対応した。
目次
概要
特徴
構成
Direct
OSとの関係
概要
実際にDirectXという名のAPIがあるわけではなく、Xの部分に用途に応じた名称が入る。
このAPI群は、ハードウェア固有の機能を最大限に引き出すことを目的とし、ハードウェアを直接操作できたMS-DOSからの移植作業(特にゲームの‐)を容易にしながら、それによるパフォーマンス低下を極力なくすために設計された。ゲーム開発用として登場した経緯から、一番最初のバージョンであるDirectX 1.0 SDKに相当するものは「Game SDK」と呼ばれており、バージョン2からDirectX SDKと呼ばれるようになった。
Microsoftのゲーム専用機であるXbox/Xbox360でもDirectXが利用されているが、より新しいAPIも使われており(XInputやXACTなど)、これを輸入する形で将来的に古いDirectX APIを置き換えることも計画されているようである。
特徴
構成
DirectXは、ハードウェアに関する直接的なサービスを代行する部分と、マルチメディア関連の処理を扱う部分とに分けられる。
かつてはそれぞれ、DirectX Foundation、DirectX Mediaと呼ばれていたが、DirectX 8以降は次のように構成が変更になっている。
DirectX Graphics
DirectDraw
: 2次元グラフィックス (GameSDK〜、DirectX 8以降はDirect2Dなどに移行しレガシーとなった)
Direct2D: 新しい2次元グラフィックス (Windows 7〜)
Direct3D
: 3次元グラフィックス (DirectX 2.0〜)
DirectWrite: 新しいテクスト描画 (Windows 7〜)
DirectX Audio
DirectSound
: サウンド録再 (GameSDK〜、将来的に、XACTに置き換えられレガシーとなる見込み)
DirectSound3D
: 3次元サウンド再生 (DirectX 3.0〜)
DirectMusic
: MIDIなどメッセージベースのサウンド再生 (DirectX 6.1〜)
DirectX Media
DirectAnimation: 2次元Webアニメーション (DirectX 5.1 Media SDK〜)
DirectShow: 音声/動画の録再 (DirectX 5.1 Media SDK〜)
DirectInput
: ジョイスティックなどの入力 (将来的に、XInputに置き換えられレガシーとなる見込み)
その他
DirectPlay
: 対戦ゲームなど向けのゲーム用通信 (GameSDK〜)
DirectSetup: DirectXランタイムセットアップ機能 (GameSDK〜)
DirectX Media Objects: 音声/動画のフィルタ、エンコーダー/デコーダー
DirectX Video Acceleration: 動画デコード高速化
Direct
そもそも "Direct" という名は、ハードウェアを直接操作するというところを語源としている。従って、旧来から存在するのはDirectX GraphicsやDirectX Audio、つまり初期にはDirectX Foundationと呼ばれていたグループである。
これは
HAL
(Hardware Abstraction Layer)と名付けられ機構でハードウェアを仮想化することにより、もしハードウェアにその機能が無ければソフトウェアで処理を代行することで、全ての環境を同一に扱うことが可能にできる。これが、DirectXの持つ大きな特徴である。
もちろん、ソフトウェアで代行する場合の速度については別の次元の問題である。
OSとの関係
DirectXはハードウェアを操作するAPI群である。
ハードウェアに依存するのは半ば当然で、バージョンアップの度に新しいハードウェアに対応をしてきた。
DirectX 6.0からAMD
3DNow!
命令に、DirectX 6.1から
Pentium III
のストリーミングSIMD拡張命令(
SSE
)に、DirectX 7.0からはハードウェアによるトランスフォームとライディング、DirectX 8.0から
Pentium 4
のストリーミングSIMD拡張命令2(
SSE2
)に対応し、3Dグラフィックを高速化する。DirectX 8.1はWindows XP標準搭載版で、ピクセル・シェーダーなどが改良されている。DirectX 9.0はシェーダー言語HLSLに対応し、またハードウェアT&Lは廃止された。
このほか、ハードウェアの差異の緩衝として
デバイスドライバー
が介在すると、ハードウェアだけでなくOSのデバイスドライバーモデルに依存することもある。
例えば、Windows Vistaから新しいディスプレイドライバーモデルの
WDDM
(Windows Display Driver Model)に対応し、Windows 2000/XPの従来のドライバーモデルを
XPDM
と呼ぶようになった。新しいDirectXの中には、WDDMに依存した実装しか提供されていないものもある。
なお、Windows 95対応の最終版はDirectX 8.0a、NEC PC-9801/PC-9821対応の最終版はDirectX 7.0aである。
再検索