interface IDirect3D9 : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterSoftwareDevice(void *pInitializeFunction) = 0;
virtual UINT STDMETHODCALLTYPE GetAdapterCount(void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterIdentifier(UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9 *pIdentifier) = 0;
virtual UINT STDMETHODCALLTYPE GetAdapterModeCount(UINT Adapter, D3DFORMAT Format) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumAdapterModes(UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE *pMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterDisplayMode(UINT Adapter, D3DDISPLAYMODE *pMode) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckDeviceType(UINT Adapter, D3DDEVTYPE DevType, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckDeviceFormat(UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckDeviceMultiSampleType(UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD *pQualityLevels) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckDepthStencilMatch(UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckDeviceFormatConversion(UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeviceCaps(UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9 *pCaps) = 0;
virtual HMONITOR STDMETHODCALLTYPE GetAdapterMonitor(UINT Adapter) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDevice(UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DDevice9 **ppReturnedDeviceInterface) = 0;
};
这个接口提供了一系列的方法,用于与 Direct3D 9 相关的操作。以下是一些方法的简要说明:
- RegisterSoftwareDevice: 注册软件设备。
- GetAdapterCount: 获取系统中安装的图形适配器的数量。
- GetAdapterIdentifier: 获取图形适配器的标识符信息。
- GetAdapterModeCount: 获取特定适配器上支持的显示模式数量。
- EnumAdapterModes: 枚举适配器上的显示模式。
- GetAdapterDisplayMode: 获取适配器的当前显示模式。
- CheckDeviceType: 检查设备类型是否可用。
- CheckDeviceFormat: 检查设备支持的纹理格式。
- CheckDeviceMultiSampleType: 检查设备支持的多重采样类型。
- CheckDepthStencilMatch: 检查深度缓冲区与渲染目标的兼容性。
- CheckDeviceFormatConversion: 检查设备支持的格式转换。
- GetDeviceCaps: 获取设备的能力信息。
- GetAdapterMonitor: 获取适配器所连接的监视器句柄。
- CreateDevice: 创建 Direct3D 设备。
这个接口是 Direct3D 9 中的核心接口之一,通过它你可以进行很多与图形渲染相关的配置和操作。在使用完后,需要调用 Release 方法释放对象。
转载请注明出处:http://www.zyzy.cn/article/detail/26223/Win32 API/D3d9.h/IDirect3D9