D3D学习001----D3D程序的基本结构
2013-10-19 21:09
281 查看
(源程序是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)
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)
相关文章推荐
- 小程序学习笔记一:基本目录结构与主目录文件详解
- flask学习笔记1【服务器程序基本结构】
- D3D程序基本结构
- java学习之路 之 基本语法-程序流程控制-循环结构-for 循环练习题
- java学习之路 之 基本语法-程序流程控制-循环结构-嵌套循环练习题
- Flask学习之一——程序的基本结构
- C语言学习IDE和基本程序结构
- Go语言学习札记——第三章 Go基本的程序设计结构(1)
- java学习笔记(一)程序基本结构
- 重新学习Java——Java基本的程序设计结构(一)
- JAVA学习笔记-JAVA程序的基本结构
- flask 学习之路(二) 程序的基本结构
- 重新学习Java——Java基本的程序设计结构(二)
- Scala入门学习笔记二-基本数据类型、程序控制结构
- java学习之路 之 基本语法-程序流程控制-循环结构-while循环练习题
- 毕业设计预习:VHDL入门知识学习(一) VHDL程序基本结构
- 黑马程序员_C语言学习笔记之基本程序结构
- 【D3D】一个D3D程序的基本结构
- jQuery源码学习记录(1)基本结构和选择器
- JSP学习记--02(jsp基本结构、变量、注释、指令标签、动作标签)