DirectX终极游戏指南读书笔记(1)

DirectX的API主要分为几个大部分:

1)DirectInput:可以直接使用所有与计算机关联的输入设备

2)DirectPlay:负责网络部分

3)DirectMusic和DirectSound都可以控制声音的处理,但是Music可以控制更多底层,更加灵活,而Sound没有很多的控制。比较简单。Music可以从磁盘加载文件,Sound不可以,但是使用起来比较简单

初始化DirectX:

一般都是用win32程序创建一个窗口。在此窗口上完成DirectX的相关初始化工作

Win32程序初始化过程:(要记的部分太多,所以只写一次博客,以后不再记录)

1)创建WinMain函数:WinMain函数是Win32窗口的入口函数。

函数声明包括4个参数,第一个参数是程序实例的句柄,第二个参数是程序先前的实例,(这个定义也是第一次见到)第三个参数是传递给程序的命令行参数指针。最后一个是窗口的显示方式(窗口显示还是全屏显示)

句柄的定义见另一篇博客:句柄

2)在WinMain内部创建窗口:创建窗口类,设置其参数。注册窗口类(相当于在系统那里注册登记)这样就创建好了一个窗口(隐形的)然后用CreateWindow()创建一个能看到的窗口。(参数这里就不记录了,太多了,需要的时候再查吧)

创建好窗口之后用ShowWindow把它显示出来,用UpdateWindow更新自己。

3)在程序消息循环时,如果按下键盘,OS会向程序发送消息。PeekMessage会从消息队列获取消息,via   TranslateMessage函数转换,调用DispatchMessage函数将其发送给消息过程函数(我理解的就是消息处理函数)

如果退出键按下,消息处理函数就发出一条退出消息,程序收到,然后退出。

以上是基本windows窗口的创建

下面开始创建DirectX相关

1)首先用函数Direct3DCreate9创建Directx3D接口对象

2)返回当前设备信息:GetAdapterDisplayMode() 返回当前桌面分辨率,显示格式,等等一堆

3)创建D3DPRESENT_PARAMETERS对象

这个参数结构用于定义Direct3D窗口的显示信息。  非常重要,比如换台缓存数目,以及交换连等等相关重要概念。

4)创建Direct3D设备对象,这个对象主要用于对以后的窗口进行渲染

这个对象创建需要用到我们之前创建的PresentationParameters结构,如果创建失败,最后一个参数为NULL。否则返回一个新创建的Direct3D设备对象。

Direct3D设备一旦创建好了,就可以通过这个对象(类里的方法)来渲染屏幕了。

猜你喜欢

转载自blog.csdn.net/qq_40947718/article/details/82984400