图形引擎(二):初始化Direct3D

时间:2021-09-17 19:45:53

图形引擎(二):初始化Direct3D

在上篇文章中,已经讲述了工程的详细配置,并创建了一个基础的Windows窗口程序。现在开始,添加图形引擎的渲染部分,创建Direct3D程序。在这个引擎中,主要使用DirectX 11.1进行图形渲染部分的开发,如果你更喜欢使用Direct3D其他的版本,或者OpenGL,可以自行实现。

初始化Direct3D

根据下面的步骤执行Direct3D的初始化:
1.创建Direct3D device(ID3D11Device)和device context接口(ID3D11DeviceContext)。
2.检查multisampling的支持。
3.创建swap chain。
4.创建一个render target view。
5.创建一个depth-stencil view。
6.把render target view和depth-stencil view与Direct3D管线中的output-merger阶段相结合。
7.设置viewport。
详细的API讲解,请查看我翻译的Real-Time 3D Rendering with DirectX and HLSL书籍博客

在Windows窗口程序中添加Direct3D

详细的代码讲解,请看对应的博客
注意: 这个图形引擎的主要使用DirectX 11.1,并使用Visual Studio 2015做为开发工具。安装了VS2015之后,就会带有Windows SDK,其中包含了DirectX 11.1,因此不需要安装DXSDK。 在调用D3D11Create()函数时,使用了D3D11_CREATE_DEVICE_DEBUG作为flags参数,在Win10操作系统中可以会出现“应用程序请求的操作依赖于已缺失或不匹配的 SDK 组件”的错误。如果出现这种错误,可以先不使用D3D11_CREATE_DEVICE_DEBUG作为flags参数。针对的这个问题的解决方法,详细微软的MSDN官方说明:https://msdn.microsoft.com/library/windows/apps/dn914047.aspx。具体操作如下: 1.转到“设置”、依次选择“系统”和“可选功能”(在最新的Win 10中已经更改为应用和功能),然后单击“添加功能”。
2.在“添加功能”列表中,单击“图形工具”。
之后就可以使用D3D11_CREATE_DEVICE_DEBUG作为flags参数了。
图形引擎第二步的完整工程代码:
http://download.csdn.net/detail/chenjinxian_3d/9578023