Platform SDK: DirectX

IDirect3DDevice7

IDirect3DDevice7 インターフェイスには、アプリケーションで DrawPrimitive ベースのレンダリングを可能にするメソッドがある。この点については、IDirect3DDevice インターフェイスの場合、アプリケーションが実行バッファを使用してレンダリングするのと対照的である。IDirect3D7::CreateDevice メソッドを呼び出すことにより、Direct3DDevice オブジェクトを作成して、このインターフェイスへのポインタを取得できる。

概要については、「Direct3D デバイス」および「DrawPrimitive メソッド」を参照すること。

IDirect3DDevice7 インターフェイスのメソッドは、以下のグループにまとめることができる。

情報 GetCaps
  GetDirect3D
GetInfo
デバイス ステート ApplyStateBlock
  BeginStateBlock
CaptureStateBlock
CreateStateBlock
DeleteStateBlock
EndStateBlock
GetClipStatus
GetRenderState
GetRenderTarget
GetStateData
GetTransform
SetClipStatus
SetRenderState
SetRenderTarget
SetStateData
SetTransform
ライティングとマテリアル GetLight
  GetLightEnable
GetMaterial
LightEnable
SetLight
SetMaterial
その他 ComputeSphereVisibility
  MultiplyTransform
レンダリング DrawIndexedPrimitive
  DrawIndexedPrimitiveStrided
DrawIndexedPrimitiveVB
DrawPrimitive
DrawPrimitiveStrided
DrawPrimitiveVB
シーン BeginScene
  EndScene
テクスチャ EnumTextureFormats
  GetTexture
GetTextureStageState
Load
PreLoad
SetTexture
SetTextureStageState
ValidateDevice
ユーザー定義クリップ面 GetClipPlane
  SetClipPlane
ビューポート Clear
  GetViewport
SetViewport

すべての COM インターフェイスと同様、IDirect3DDevice7 インターフェイスはIUnknown インターフェイス メソッドを継承する。IUnknown インターフェイスは、以下の 3 つのメソッドをサポートする。

IUnknown AddRef
  QueryInterface
Release

このインターフェイスは、デバイス ステート ブロック用のメソッドを加えることで IDirect3DDevice3 インターフェイスを拡張している。デバイス ステート ブロックにより、アプリケーションが要求する共通した一連のステート変化をすばやく実行できる。また、IDirect3DDevice7 インターフェイスには、デバイス内のビューポート、ライト、およびマテリアルを操作するメソッドがあり、これらのメソッドが IDirect3DViewport3IDirect3DMaterial3、および IDirect3DLight インターフェイスに代わって使用される。

このインターフェイスと以前の IDirect3DDevice3 インターフェイスで共通する多くのメソッドでは、受け取るパラメータに若干の違いがある。IDirect3DDevice3 インターフェイス メソッドは IDirectDrawSuface3 インターフェイスへのポインタをパラメータとして受け取り、IDirect3DDevice7 インターフェイス メソッドは IDirectDrawSurface7 インターフェイスへのポインタを受け取る。これまで IDirect3DVertexBuffer または IDirect3DTexture2 インターフェイスへのポインタを受け取っていたメソッドは、現在では IDirect3DVertexBuffer7 または IDirectDrawSurface7 インターフェイスへのポインタを受け取るようになっている。インターフェイスに追加されたビューポート、マテリアル、およびライティング用のメソッドは、新しい構造体へのポインタを受け取る。これらの構造体については、それぞれの新しいメソッドのリファレンス ページで説明する。

このインターフェイスは、実行バッファと共に使用することを考慮していないので、実行バッファ関連のメソッドは一切持っていない。実行バッファについては、旧リリースの DirectX のドキュメントを参照すること。

LPDIRECT3DDEVICE2LPDIRECT3DDEVICE3、または LPDIRECT3DDEVICE7 データ型を使用して、IDirect3DDevice2IDirect3DDevice3、または 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 で宣言。

参照

Direct3D デバイスレンダリング