首先概述一下Direct初始化的大概步骤(稍后我们会详细说明):
1、获取接口IDirect3D9 的指针。该接口用于获取系统物理硬件设备的信息并创建接口:IDirect3DDevice9,接口可以看是一个C++对象,代表了我们用来显示3D图形的硬件物理设备。
2、检查设备的性能(D3DCAPS9),判断显卡是否支持硬件顶点的计算,是因为我们必须明确显卡是否支持该功能,才能创建IDirect3DDevice9接口。
3、初始化一个D3DPRESENT_PARAMETERS结构的实例。该结构由很多的数据成员组成,我们可以通过D3DPRESENT_PARAMETERS里面的变量来决定我们即将创建的IDirect3DDevice9接口的特性。
4、利用已经初始化的结构体D3DPRESENT_PARAMETER创建IDirect3DDevice9对象(一个C++对象,代表我们用来首先是3D图形的物理设备)
注意:我们在学习的阶段可以使用主显卡去绘制我们的图像,如果系统只有一块图形卡,该图形卡就是我们的主显卡。如果本地有多快图形卡,则当前使用的图形卡就是主显卡(当前使用的就是用来显示Windows桌面的那块显卡)。
获取接口IDirect3D9的指针
要初始化Direct3D,就必须获得指向接口IDirect3D9的指针,使用一个专门的Direct3D函数可以很容易的坐到:
IDirect3D9* _d3d9;
d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
函数Direct3DCreate9的参数必须是D3D_SDK_VERSION,只有如此,才能保证使应用程序使用正确的头文件。如果该函数调用失败,则返回一个NULL指针。
上述的IDirect3D9的对象主要有两个用途:设备枚举以及创建IDirect3DDevice9类型的对象。
设备枚举是指获取系统中可用的每块图形显卡的性能,显示模式,格式以及其他信息。例如:为创建一种代表物理设备的IDirect3DDevice9类型的对象,我们需要知道物理设备所支持的显示模式以及格式等配置信息。为了找到这么一种可行的配置,我们必须使用接口:IDirect3D9的枚举方法。