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,这两个在此不详细介绍,等用到时可以查看帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值