Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
IDirect3DDevice9Ex Interface
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; therefore it inherits all the member functions of IDirect3DDevice9. To see more about IDirect3DDevice9, get the latest DirectX SDK documentation from the DirectX Developer Center.
| CheckDeviceState | Reports the current cooperative-level status of the Direct3D device for a windowed or full-screen application. |
| 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. |
| ComposeRect | Sets the filter that the Device object uses to perform monochrome convolution filtering. |
| GetGPUThreadPriority | Gets the current priority stored with the Direct3D device. |
| GetMaximumFrameLatency | Retrieves the number of frames of data that the drivers are allowed to queue. |
| PresentEx | Presents the contents of the next buffer in the sequence of back buffers owned by the device. |
| ResetEx | Resets the type, size, and format of the swap chain. |
| SetConvolutionMonoKernel | Sets the filter that the Device object uses to perform monochrome convolution filtering. |
| SetGPUThreadPriority | Connects to a new kernel-mode entry point with the specified thread priority. |
| SetMaximumFrameLatency | Sets the number of frames of data that the drivers are allowed to queue. |
| TestCooperativeLevel | Reports the current cooperative-level status of the Direct3D device for a windowed or full-screen application. Deprecated |
| WaitForVBlank | Allows applications to efficiently throttle their frame rate to that of the monitor associated with the device. |
The IDirect3DDevice9Ex interface is obtained by calling IDirect3D9Ex::CreateDeviceEx. This interface, like all interfaces, inherits the IUnknown interface methods.
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:
- Call Direct3DCreate9Ex to create the Direct3D object.
- 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);