IDirect3DDevice

Applications use the methods of the IDirect3DDevice interface to retrieve and set the capabilities of Direct3D devices. This section is a reference to the methods of these interface. For a conceptual overview, see Devices.

The IDirect3DDevice interface supports applications that work with execute buffers. It has been extended by the IDirect3DDevice2 interface, which supports the DrawPrimitive methods.

The Direct3DDevice object is obtained by calling the QueryInterface method from a DirectDrawSurface object that was created as a 3-D–capable surface.

The methods of the IDirect3DDevice interface can be organized into the following groups. Note that in some cases IDirect3DDevice methods are documented in the reference to the IDirect3DDevice2 interface.

Execute buffers CreateExecuteBuffer
Execute
Information EnumTextureFormats
GetCaps
GetDirect3D
GetPickRecords
GetStats
Matrices CreateMatrix
DeleteMatrix
GetMatrix
SetMatrix
Miscellaneous Initialize
Pick
SwapTextureHandles
Scenes BeginScene
EndScene
Viewports AddViewport
DeleteViewport
NextViewport

The IDirect3DDevice interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:

AddRef
QueryInterface
Release

The LPDIRECT3DDEVICE type is defined as a pointer to the IDirect3DDevice interface:

typedef struct IDirect3DDevice        *LPDIRECT3DDEVICE;