第1章:创建和管理Direct3D设备
1.1 什么是Direct3D设备
每个图形API都有一个维持绘图功能整体状态的实体。如Windows GDI用的是DC,Java用的是Graphics对象,而DirectX用的就是IDirect3DDevice9(这个数字表版本)。Direct3D设备管理并维护从分配纹理内存到变换矩阵再到混合状态的一切事情。它有3种基本类型:
- D3DDEVTYPE_HAL:使用硬件进行渲染,功能实现依赖硬件。
- D3DDEVTYPE_REF:提供了全部功能,用软件模拟所有可能的DirectX特性。
- D3DDEVTYPE_SW:使用第三方的软件渲染器。
1.2 如何使用Direct3D设备
- 第一步:创建Direct3D对象。(使用Direct3DCreate9函数)
- 第二步:了解更多硬件信息。(有GetDeviceCap和EnumAdapterMode两个函数)
- 第三步:创建Direct3D设备。(CreateDevice函数及D3DPRESENT_PARAMETERS结构)
- 第四步:重置丢失的设备。(TestCoop