`
dengbaoleng
  • 浏览: 1133031 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics