D3D学习001----D3D程序的基本结构

来源:互联网 发布:三唑仑片淘宝网上名称 编辑:程序博客网 时间:2024/05/22 23:51

(源程序是D3D 11:(SDK root)\Samples\C++\Direct3D11\Tutorials\Tutorial01)

Windows程序的入口点是winMain函数,这里的入口点是wWinMain函数。作用有以下:

1.初始化窗口:InitWindow

在初始化窗口的过程中,注册了窗口的回调函数:wcex.lpfnWndProc = WndProc;

2.初始化设备(也就是D3D设备):InitDevice

在D3D11中,有三个设备需要初始化:设备对象,立即内容对象和交换链对象。

交换链要负责渲染的缓冲区和在显示器上显示绘制的内容,至少有两个缓冲区,front buffer和back buffer。这时需要初始化DXGI_SWAP_CHAIN_DESC sd这个结构体,然后就可以调用函数D3D11CreateDeviceAndSwapChain来创建设备了。

下一步要创建目标渲染视图。它的内容是可以有多种解释的(比如存有一维数据的内存,可以解释为整形,浮点型等等,如果不知道类型的话就没什么意义)。这里还有一些绑定就不详细说了。

最后一步是建立视口viewport,就是人眼看到的窗口是怎样的。

3.进入消息循环,在消息循环的过程中调用渲染函数:Render

有消息的时候PeekMessage,没有消息的时候render。

4.消息循环结束后,撤销设备:CleanupDevice

以上就是程序的框架了。在传统的windows编程的框架上加上了D3D设备的初始化和撤销。

(若在执行程序的时候一闪而过就结束了,说明程序环境没有建好。电脑中要安装.NET framework 4.5 及 Windows sdk for Windows 8)

原创粉丝点击