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,这两个在此不详细介绍,等用到时可以查看帮助
分享到:
相关推荐
DirectX 9.0 Web setup DirectX 9.0 Web setup DirectX 9.0 Web setup
DirectX9.0b,用于Windows98
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第一部分。
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第七部分。
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第四部分。
DirectX9.0中文版 传说中的龙书。
这是龙书第二版 《 Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach 》 源码。
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第九部分。
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第十部分。
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第八部分。
DirectX 9.0 介绍 DirectX编程
DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 安装文件大小218M,分成10个压缩包。 这是第三部分。
DirectX 9.0 SDK (summer 2004) 很难找的
DirectX9.0 3D游戏编程开发基础一书中所有的示例源码 DirectX9.0 3D游戏编程开发基础
directX9.0 龙书 Introduction_To_3D_Game_Programming_With_DirectX_9.0 值得拥有
Directx9.0的初始化三步曲 搭建了一个directX的基本运行环境
DirectX 9.0 SDK直接使用,免下载巨大的安装包,包括Include和lib
Microsoft DirectX 9.0 SDK Documentation for Visual Studio 2003
c#中采用directX9.0载入3D模型,实现需要下载并且安装DirectX9.0SDK,如果不能运行的话,就在工程中手动引用DirectX.dll,DirectX3D.dll,DirectX3DX.dll