**
学习DirectX的日常总结00
**
------------------------------
使用DirectX11 SDK和VS2017
#这篇是自己在学习DirectX的过程中总结的一些基础预备知识
1.DirectX SDK中有什么?我学习这个到底要学全部学习完吗?
答:
(1)DirectX SDK是一个整合的开发包,其中有开发尖端多媒体应用软件不可或缺的开发工具,头文件、程序库、范例执行文件、文件、DirectX工具等。
(2)不一定要全部学完,根据自己的需求选择学习。
例如DirectX包含以下几个部分:
DirectDraw(一种软硬件加速技术);
DirectSound (提供软硬件声音混合和录音再生功能);
DirectMusic( 提供软硬件MID音乐的播放功能);
DirectPlay(使得游戏在调制解调器和网络之间的连接更加简单方便);
Direct3D(可以让程序完成一个完全的三维图形系统和完全控制着色管道);
DirectInput(提供了基于Windows游戏的输入的API程序,包括键鼠和操纵杆,以及其他输入设备)等。
2.D3D的相关概念(D3D又名Direct3D)
(1)渲染管线
渲染管线也叫渲染流水线,是将三维物体或三维场景的描述转化为二维图像。
(2)设备
设备是用来创建资源和枚举一个显示器适配器的性能,每个D3D至少要一个设备。
(3)交换链
图形在绘制的过程中会保存在前台缓存和后台缓存。其中,前台缓存用于存储显示在屏幕上的图片,后台缓存要存储即将要显示的图片。当前台中的图片显示完成后,图片会切换成后台缓存中的图片,这时候,后台缓存变成了前台,而前台则变成后台缓存,用来存储即将要显示的图片。
(4)上下文
一个上下文包含一个设备使用环境和设置。
(5)三维图元
三维图元是组成单个三维实体的定点集合。总共包含点,线,三角形三种。
(6)顶点结构
通常构成一个封闭图形的几个点,在D3D中称为顶点,顶点可以包含一些其他信息,例如颜色,纹理坐标等。
(7)顶点着色器
顶点着色器主要包括坐标变换,动画以及顶点光照等操作。
(8)像素着色器
对像素进行着色操作。
(9)高级语言着色器语言(HLSL)
由微软开发的一种语言,一般只能供DirectX3D使用。
#在使用VS2017学习DirectX中也遇见了一些问题,在这里给大家分享一下解决方法(书中例子中的创建Win32,找不到)
1.找不到Win32,那如何创建一个Win32项目
第一步:打开VS,新建一个项目,选用WINDOWAS桌面,点击Windows桌面向导,点击确认进行到下一步。
第二步:选用应用程序类型为(Windows应用程序.exe),接下来将小勾,勾成下列图中的即可,点击确认,一个Win32工程就建好了。
DirectX SDK下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=6812
基础概念知识参考书籍:基于DirectX11的3D图形程序设计案例教程