首先头文件d3dUtility.h里面:
Init3D函数:里面实现了Direct3D初始化的整个过程:包括获取接口Direct3D9的指针,检验设备的顶点运算,填充设备属性结构体的内容,创建IDirect3DDevice9的接口等。
EnterMsgLoop函数:该函数接受了一个显示函数的函数指针,然后将应用程序的消息循环进行封装,穿进去的显示函数就是进行绘制的函数,然后EnterMsgLoop函数需要知道什么时候去调用这个显示函数进行显示。
Release模板和Delete模板:资源销毁的时候调用。
头文件可以在这篇博客中找到,直接复制就能用。
还有就是d3dUtility.cpp文件,里面具体实现了刚才我们在d3dUtility.h文件中声明的两个函数。
同样也可以在这篇博客中找到,直接复制拷贝就可以用。
然后在源文件中我们还需要我们的主文件,也就是绘制Triangle的文件:triangle.cpp。我们在代码中以注释的方式进行讲解,会比较明了一点。
//包含我们刚才创建的d3dUtility.h头文件
#include "d3dUtility.h"
//定义一个用来指向设备的指针
IDirect3DDevice9* Device = 0;
//设置好我们窗口的宽和高
const int Width = 640;
const int Height = 480;
//定义一个用来顶点缓存的指针&#x