摸爬滚打DirectX11_day01——VS2015与DirectX11的配置

什么是DirectX11?


DirectX,微软提供的应用程序接口集(APIs),被设计为在运行 windows 操作系统平台上用来提供给开发人员控制硬件的底层接口。它的各个组件提供了访问不同硬件的能力,包括图形(显卡),声音(声卡),GPU,输入设备以及所有的标准接口(译者注:比如游戏操纵杆,鼠标等)。
DirectX 是首先被游戏制作者用来在 Windows 和 Xbox 平台上使用的标准 API 集。它是在设备上提供驱动层来操作硬件的。(注意:Xbox369 使用 DirectX9 之后的版本开发)

DirectX11与之前版本的比较


Direct3D 10 的 API 相比于前一个版本是显得轻量的,并且其 API 比过去的版本都更加的容易使用。
与其他版本一个显而易见的不同就是在 Direct3D 10 中移除了固定的函数管线,而被移除的部分却是渲染状态和在 API 中构建算法来允许使用公共特效渲染对象的一个必须的集合。在图形硬件上面移除固定函数管线取而代之的是可编程着色器。
在 Direct3D 9 中,我们能够通过着色器来渲染几何体,开启光照只需要设置少量的性质和渲染状态,那些 API会转化我们的几何体使得发布时只需要调用少量的 Direct3D 函数。在 Direct3D 10 中我们依旧能够通过着色器做上述所有的事情,而且还能做得更多。初学者需要记住的关键一点是当第一次学习图形编程时固定管线被内建的 API所限制,而着色器允许我们创建任何特效,唯一的限制是游戏中的帧率。想使用光照?只需要掉了 Direct3D 函数来开启它并且设置它的属性(上限是 8 种光照)。想通过多幅图像渲染表面?只需要开启它。甚至能够表现你所想要的基于像素的模糊运行和深度域,而使用固定管线就没那么幸运了。
DirectX 11 更像是 DirectX10.1 的一个增强版本而不像从 DirectX9 到 DirectX10 的主版本升级。

DirectX的组成部分


DirectX 是一个代码库集合,提供给游戏和多媒体应用一个公共的函数集合。为了确保你的游戏只需要使用必须的函数,DirectX 被划分为多个组件。
DirectX API 被划分为多个组件,使得每一部分都只响应系统的一个方面。组件之间的 API 相互独立,从而允许使用你的游戏所要求的那部分。在最新版本中,一些组件已经被更新,例如 Direct3D 组件,而另外一些部分像之前的版本一样被保留下来直到微软将他们移除(如果他们是过时的组件)。DX 之间的组件应新函数要求被独立的更新。

我的第一个DirectX程序


关于VS2015下DirectX11的配置
可以参考:
传统D3D11程序面向VS2015编译环境的配置修正细节
VS2015update2环境下DirectX11编程说明(2016.5.5更新)
龙书D3D11 Demo配置(VS2015+win10)


官方Sample

你可能感兴趣的:(Directx11,DirectX11学习记录)