IDirect3DDevice9Ex interface (d3d9.h)

Applications use the methods of the IDirect3DDevice9Ex interface to render primitives, create resources, work with system-level variables, adjust gamma ramp levels, work with palettes, and create shaders. The IDirect3DDevice9Ex interface derives from the IDirect3DDevice9 interface.

Inheritance

The IDirect3DDevice9Ex interface inherits from IDirect3DDevice9. IDirect3DDevice9Ex also has these types of members:

Methods

The IDirect3DDevice9Ex interface has these methods.

 
IDirect3DDevice9Ex::CheckDeviceState

Reports the current cooperative-level status of the Direct3D device for a windowed or full-screen application. (IDirect3DDevice9Ex.CheckDeviceState)
IDirect3DDevice9Ex::CheckResourceResidency

Checks an array of resources to determine if it is likely that they will cause a large stall at Draw time because the system must make the resources GPU-accessible.
IDirect3DDevice9Ex::ComposeRects

Copy a text string to one surface using an alphabet of glyphs on another surface. Composition is done by the GPU using bitwise operations.
IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx

Creates a depth-stencil surface.
IDirect3DDevice9Ex::CreateOffscreenPlainSurfaceEx

Create an off-screen surface. (IDirect3DDevice9Ex.CreateOffscreenPlainSurfaceEx)
IDirect3DDevice9Ex::CreateRenderTargetEx

Creates a render-target surface. (IDirect3DDevice9Ex.CreateRenderTargetEx)
IDirect3DDevice9Ex::GetDisplayModeEx

Retrieves the display mode's spatial resolution, color resolution, refresh frequency, and rotation settings. (IDirect3DDevice9Ex.GetDisplayModeEx)
IDirect3DDevice9Ex::GetGPUThreadPriority

Get the priority of the GPU thread.
IDirect3DDevice9Ex::GetMaximumFrameLatency

Retrieves the number of frames of data that the system is allowed to queue.
IDirect3DDevice9Ex::PresentEx

Swap the swapchain's next buffer with the front buffer.
IDirect3DDevice9Ex::ResetEx

Resets the type, size, and format of the swap chain with all other surfaces persistent.
IDirect3DDevice9Ex::SetConvolutionMonoKernel

Prepare the texture sampler for monochrome convolution filtering on a single-color texture.
IDirect3DDevice9Ex::SetGPUThreadPriority

Set the priority on the GPU thread.
IDirect3DDevice9Ex::SetMaximumFrameLatency

Set the number of frames that the system is allowed to queue for rendering.
IDirect3DDevice9Ex::TestCooperativeLevel

Reports the current cooperative-level status of the Direct3D device for a windowed or full-screen application. (IDirect3DDevice9Ex.TestCooperativeLevel)
IDirect3DDevice9Ex::WaitForVBlank

Suspend execution of the calling thread until the next vertical blank signal.

Remarks

The IDirect3DDevice9Ex interface is obtained by calling IDirect3D9Ex::CreateDeviceEx.

The LPDIRECT3DDEVICE9EX and PDIRECT3DDEVICE9EX types are defined as pointers to the IDirect3DDevice9Ex interface:


typedef struct IDirect3DDevice9Ex *LPDIRECT3DDEVICE9EX, *PDIRECT3DDEVICE9EX;

Creating a Device

Follow these two steps to initialize a Direct3D device:
  1. Call Direct3DCreate9Ex to create the Direct3D object.
  2. Call CreateDeviceEx to create the Direct3D device.
Here is an example:

IDirect3D9Ex *pDirect3DEx;
LPDIRECT3DDEVICE9EX pDeviceEx;
DWORD behaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING;

Direct3DCreate9Ex(D3D_SDK_VERSION, &pDirect3DEx);
pDirect3DEx->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, behaviorFlags, &d3dpp, NULL, &pDeviceEx);

Requirements

Requirement Value
Target Platform Windows
Header d3d9.h

See also

Direct3D Interfaces

IDirect3DDevice9