Microsoft DirectX 8.0 (C++) |
Microsoft® Direct3D® は、Microsoft Windows® 搭載のコンピュータ上で世界に通用するゲームやインタラクティブ 3D グラフィックスを使えるようにすることを目的に設計されている。3D ビデオディスプレイ ハードウェアへのデバイスに依存したアクセスを、デバイスに依存しない方法で行うことができる描画インターフェイスである。
Direct3D は、ゲームやその他の高性能マルチメディア アプリケーションを Windows オペレーティング システムに移植する必要がある開発者には理想的な下位レベル 3D API である。Direct3D は、アクセラレータ ハードウェアと下位レベルでやり取りするアプリケーションのための方法で、デバイスには依存しない。
Direct3D は、Windows グラフィックス デバイス インターフェイス (GDI) との互換性を維持しながらディスプレイ デバイスへの直接アクセスを提供するソフトウェア デバイスであり、ゲームや 3D グラフィックス パッケージなどの Windows サブシステム ソフトウェアから、特定のディスプレイ デバイスの機能にデバイスに依存しないでアクセスする方法を提供する。
Direct3D は、Windows 95 やそれ以降のバージョン、および Windows 2000 が動作するコンピュータ上に、最上級のゲーム グラフィックスを提供する。
次に示すのは、Direct3D の最新機能である。
これらの機能を組み合わせれば、標準的な Windows GDI ベースのアプリケーションや MS-DOS アプリケーションについて、簡単にその性能を向上させることができる。
Direct3D のワールド管理は、頂点、ポリゴン、およびこれらを制御するコマンドに基づいて行われる。これによって、トランスフォーム、ライティング、ラスタ化 3D グラフィックス パイプラインに直接アクセスできる。ハードウェア アクセラレーションを利用してレンダリングできない場合、Direct3D は強力なソフトウェア エミュレーション機能を提供する。
Direct3D では、シンプルで直接的なメソッドを使用して 3D シーンを設定およびレンダリングできる。レンダリング メソッドの主要セットは DrawPrimitive メソッドと呼ばれる。これらのメソッドにより、アプリケーションではメソッドの呼び出しを 1 回行うだけで、シーンの 1 つまたは複数のオブジェクトをレンダリングできる。これらのメソッドの詳細については、「プリミティブのレンダリング」を参照すること。
Direct3D では、3D ハードウェアへの接続の際に発生するオーバーヘッドが低い。ただし、この接続を実現するためにはかなりの作業を要する。トランスフォームやライティングを実行するには明示的な呼び出しを行わなければならず、必要な行列はすべて提供し、存在するハードウェアの種類やその機能を調べる必要もある。