现代DX11系列教程:使用Windows SDK(C++)开发Direct3D 11.x
目前部分项目已支持ImGui
2022/3/21 Ver1.34.1
- 36章起的项目,模型加载从tinyobjloader替换为Assimp
- 添加Cmake配置、Assimp编译配置、自建项目教程
目前对应的博客更新:
**Github在线版(优先保证最新) **
因更新麻烦,CSDN目前考虑停更
QQ群号:727623616
欢迎大家来交流,以及项目有什么问题也可以在这里提出。
语言:
- C++14/17
- HLSL Shader Model 5.0
目前项目使用了下述代码库或文件:
- ocornut/imgui:当前已经为这些项目使用ImGui:第7、10、15、16、17、20、23、30-36章。
- nothings/stb:使用其stb_image
- assimp/assimp:模型加载
- DirectXTex/DDSTextureLoader
- DirectXTex/WICTextureLoader
- DirectXTex/ScreenGrab
- DirectXTK/Mouse(源码上有所修改):不能和imgui同时使用
- DirectXTK/Keyboard(源码上有所修改):不能和imgui同时使用
作为教程演示项目,这里并不是以实现一个软引擎为目标。建议读者在跟随教程学习的同时要动手实践。
打开36章之后的项目需要安装Assimp,具体过程 点此查看
对于Win10系统,直接打开DirectX11 With Windows SDK(2019 Win10).sln
**对于Win7和Win8.x的系统,请阅读 cmake构建项目一节 **
建议一次性生成所有项目,比单独生成会快很多。生成完成后,若要指定运行哪个项目,需要对项目右键-设为启动项。
注意:
- 教程不支持VS2013及更低版本!
- VS2015在安装时需要勾选VS2015 更新 3, 以及Tools(1.4.1)和Windows 10 SDK(10.0.14393)!
- Win7系统需要安装Service Pack 1以及KB2670838补丁以支持Direct3D 11.1
- 建议安装配置表列出的VS所使用的对应版本的Windows SDK
首先需要安装Assimp,点此查看
安装好后,使用cmake-gui.exe
填写源码路径和构建路径,然后会弹出下述变量:
Assimp_INSTALLED_DIR
:需要填写,项目36之后的会用到AssimpUSE_IMGUI
:默认开启,关闭后35之前的部分项目使用Direct2D的UIWIN_SYSTEM_SUPPORT
:默认关闭,仅Win7用户需要勾选,但建议保持USE_IMGUI
开启
再次点击Configure
会看到Assimp_DIR
的出现,说明找到了Assimp,然后就可以生成项目。
如果有想要把源码copy到自己的VS项目,又或者是想在VSCode来编写的,点此查看
博客和项目维护不易,如果本系列教程对您有所帮助,希望能够扫码支持一下博主。