今天晚上我们一起坐下喝口茶,用代码对侃D3D初始化。
前面由于是理论,其实也不算是太专业的理论,我已经说的够白的啦!文字归文字,咱还是代码形象化说明下吧! 基于VC系列开发平台,说明: 最基础的东西就不说了,你比如说Windows窗口那一套,编译环境这块,着重说下,D3D相关的初始化。
(1)需要用到的头文件 #include "d3d9.h" #include "d3d9x.h" //d3d9.h对应的是d3d9.lib;d3d9x.h对应的是d3d9x.lib
(2)需要用到的变量 IDirect3D9 *g_pD3D; //D3D对象 IDirect3Device9 *g_pDevice; //D3D设备
(3)如何初始化COM呢? Windows提供了一个函数 CoInitialize(),参数为NULL。
(4)有人会问这个函数有什么作用啊? 别急,我这就说呵呵: 它主要告诉Windows以什么方式创建 COM,CoInitialize告诉它以单线程创建COM,而且效率要比CoInitializeEx(告诉Wind ows以多线程创建COM)高老多。其他COM的用途,我现在还不清楚,以后如果还有更全面的认识,会更新补充的。
(5)进入D3D初始化最重要的模块,D3D的初始化函数:
A、创建D3D接口 if(NULL = (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION))) {