Direct10 学习

来源:互联网 发布:诸城网络推广报价 编辑:程序博客网 时间:2024/06/05 16:47

WinMain

        此乃Win32程序的入口点,代码会从这里开始执行。这是我们注册、创建、显示窗口的地方。然后,我们要初始化Direct3D并进入游戏循环(Game Loop)。

WinProc

       这应用程序是的消息处理过程。Windows发给我们的程序的消息,都要有它处理。注意我们上面的例子,我们处理了两种消息:WM_DESTROY(结束程序) 和 WM_KEYUP(有按键被按下)。其他的消息我们都交给默认消息处理过程DefWindowProc处理了。

g_pD3D

     这是指向IDirect3D8接口的指针,我们得通过它来创建Direct3D设备接口。

g_pD3DDevice

     这是 IDirect3DDevice8(D3D 设备) 的接口的指针,它实际上代表了你的硬件3D卡。

 

InitialiseD3D

        我们的这个函数是用来初始化Direct3D的。首先,创建IDirect3D8对象,通过这个对象我们得到了当前屏幕的显示模式。然后,根据刚刚我们获取的信息(显示模式),创建了兼容的设备。

译者:因为一些显示卡的显示模式并不相同,所以,我们的程序要在每块显卡上都能执行,就要了解这块显卡的显示模式等等一些信息。然后,根据这些信息,创建我们的D3D设备。

GameLoop

        这就是上面提到的“游戏循环”的具体实现了。当初始化结束后,它就开始了。

他会检测有没有Windows的消息,没有的话,就调用Render来绘制屏幕。

Render

        首先,我们清除了后缓冲区准备作画。然后,调用了BeginScene函数来告知DX我们要作画了。这时,我们就可以作画了(教程2)。结束了绘制,我们调用EndScene来告知DX我们画完了。最后,我们调用了Present来完成关键的一步:翻动后缓冲区到前缓冲区(屏幕)。这时,用户就能看到我们画的东西了。

CleanUp

      我们在此做清洁工作:释放所有的被创建的对象。因为程序要推出了。