Platform SDK: DirectX |
IDirect3DDevice7 インターフェイスには、アプリケーションで DrawPrimitive ベースのレンダリングを可能にするメソッドがある。この点については、IDirect3DDevice インターフェイスの場合、アプリケーションが実行バッファを使用してレンダリングするのと対照的である。IDirect3D7::CreateDevice メソッドを呼び出すことにより、Direct3DDevice オブジェクトを作成して、このインターフェイスへのポインタを取得できる。
概要については、「Direct3D デバイス」および「DrawPrimitive メソッド」を参照すること。
IDirect3DDevice7 インターフェイスのメソッドは、以下のグループにまとめることができる。
すべての COM インターフェイスと同様、IDirect3DDevice7 インターフェイスはIUnknown インターフェイス メソッドを継承する。IUnknown インターフェイスは、以下の 3 つのメソッドをサポートする。
IUnknown | AddRef |
QueryInterface | |
Release |
このインターフェイスは、デバイス ステート ブロック用のメソッドを加えることで IDirect3DDevice3 インターフェイスを拡張している。デバイス ステート ブロックにより、アプリケーションが要求する共通した一連のステート変化をすばやく実行できる。また、IDirect3DDevice7 インターフェイスには、デバイス内のビューポート、ライト、およびマテリアルを操作するメソッドがあり、これらのメソッドが IDirect3DViewport3、IDirect3DMaterial3、および IDirect3DLight インターフェイスに代わって使用される。
このインターフェイスと以前の IDirect3DDevice3 インターフェイスで共通する多くのメソッドでは、受け取るパラメータに若干の違いがある。IDirect3DDevice3 インターフェイス メソッドは IDirectDrawSuface3 インターフェイスへのポインタをパラメータとして受け取り、IDirect3DDevice7 インターフェイス メソッドは IDirectDrawSurface7 インターフェイスへのポインタを受け取る。これまで IDirect3DVertexBuffer または IDirect3DTexture2 インターフェイスへのポインタを受け取っていたメソッドは、現在では IDirect3DVertexBuffer7 または IDirectDrawSurface7 インターフェイスへのポインタを受け取るようになっている。インターフェイスに追加されたビューポート、マテリアル、およびライティング用のメソッドは、新しい構造体へのポインタを受け取る。これらの構造体については、それぞれの新しいメソッドのリファレンス ページで説明する。
このインターフェイスは、実行バッファと共に使用することを考慮していないので、実行バッファ関連のメソッドは一切持っていない。実行バッファについては、旧リリースの DirectX のドキュメントを参照すること。
LPDIRECT3DDEVICE2、LPDIRECT3DDEVICE3、または LPDIRECT3DDEVICE7 データ型を使用して、IDirect3DDevice2、IDirect3DDevice3、または IDirect3DDevice7 インターフェイスへのポインタを格納する変数を宣言できる。d3d.h ヘッダー ファイルは、以下のコードでこれらのデータ型を宣言している。
typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2; typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3; typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン :DirectX 7.0 が必要。
ヘッダー : d3d.h で宣言。