DirectX9.0中用来进行设备检测的函数汇总

http://blog.csdn.net/rabbit729/article/details/7198528


1.       IDirect3D9::CheckDeviceType

HRESULT CheckDeviceType(

  [in]  UINT Adapter,

  [in]  D3DDEVTYPE DeviceType,

  [in]  D3DFORMAT DisplayFormat,

  [in]  D3DFORMAT BackBufferFormat,

  [in]  BOOL Windowed

)

【功能描述】该函数用来检测当前指定的的硬件加速类型是否可用。

【参数描述】

Adapter: 适配器编号

DeviceType: 当前使用的硬件加速模式,可以是如下几种

           typedef enum D3DDEVTYPE {
  D3DDEVTYPE_HAL           = 1,
  D3DDEVTYPE_NULLREF       = 4,
  D3DDEVTYPE_REF           = 2,
  D3DDEVTYPE_SW            = 3,
  D3DDEVTYPE_FORCE_DWORD   = 0xffffffff 
} D3DDEVTYPE, *LPD3DDEVTYPE;
DisplayFormat:当前适配器的显示格式,注意不是BackBufferFormat的格式,这个参数可以通过GetAdapterDisplayMode()函数得到。
BackBufferFormat: BackBuffer格式,对于窗口模式的应用来说,BackBuffer的格式可以和DisplayFormat不一样,前提是硬件支持相应的格式转换,关于是否支持格式转换可以通过CheckDeviceFormatConversion()该接口来判断。对于全屏程序来说BackBuffer的格式必须和DisplayFromat格式一样,全屏应用程序不支持格式转换。
Windowed: 是否为窗口程序
 

2.       IDirect3D9:: GetDeviceCaps

HRESULT GetDeviceCaps(

  [in]   UINT Adapter,

  [in]   D3DDEVTYPE DeviceType,

  [out]  D3DCAPS9 *pCaps

)

【功能描述】该函数用来获取指定设备的规格,通过PCaps的返回值可以查看设备支持情况,具体参数描述参看帮助文档。

3.       IDirect3D9::CheckDeviceFormat

HRESULT CheckDeviceFormat(

  [in]  UINT Adapter,

  [in]  D3DDEVTYPE DeviceType,

  [in]  D3DFORMAT AdapterFormat,

  [in]  DWORD Usage,

  [in]  D3DRESOURCETYPE RType,

  [in]  D3DFORMAT CheckFormat

)

【功能描述】该函数用来判定指定用途或者格式的表面是否可用。

【参数描述】

Adapter适配器编号

DeviceType设备类型

AdapterFormat: Display Mode的格式,而不是BackBuffer的格式,这个参数最好通过GetAdapterDisplayMode()接口获得。

Usage: 表面用途

RType: 资源类型,如下几种:

typedef enum D3DRESOURCETYPE {
  D3DRTYPE_SURFACE         = 1,
  D3DRTYPE_VOLUME          = 2,
  D3DRTYPE_TEXTURE         = 3,
  D3DRTYPE_VOLUMETEXTURE   = 4,
  D3DRTYPE_CubeTexture     = 5,
  D3DRTYPE_VERTEXBUFFER    = 6,
  D3DRTYPE_INDEXBUFFER     = 7,
  D3DRTYPE_FORCE_DWORD     = 0x7fffffff 
} D3DRESOURCETYPE, *LPD3DRESOURCETYPE;

CheckFormat待检测格式

4.       其他的检测函数:IDirect3D9::CheckDepthStencilMatch,IDirect3DDevice9Ex::CheckDeviceState,这两个在此不详细介绍,等用到时可以查看帮助

你可能感兴趣的:(DirectX9.0中用来进行设备检测的函数汇总)