evehal / DirectX11-With-Windows-SDK

现代DX11系列教程:使用Windows SDK(C++)开发Direct3D 11.x

Home Page:https://directx11.tech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DirectX11 With Windows SDK教程演示项目

现代DX11系列教程:使用Windows SDK(C++)开发Direct3D 11.x

000

注意:

  • 2.x.x和1.x.x的主要区别在于19章之后的代码有大幅修改。
  • 若更新项目后渲染显示有问题,尝试删除Shaders/Cache文件夹

博客教程

CSDN目前停更

QQ群交流

QQ群号:727623616

欢迎大家来交流,以及项目有什么问题也可以在这里提出。

CMake构建项目

命令行构建

在Win10系统下,若安装cmake的时候添加了环境变量,则可以直接运行build_msvc.cmd来生成项目并构建项目,完成后打开build文件夹可以找到解决方案,然后切换到Release x64就可以直接运行。

GUI构建

使用cmake-gui.exe填写源码路径和构建路径,然后只需要关注下面一个变量:

004

  • WIN_SYSTEM_SUPPORT:默认关闭,仅Win7用户需要勾选

然后就可以点Generate生成项目,生成的解决方案位于build文件夹内,或者点Open Project打开

打开教程项目

打开CMake生成的项目,建议切换成Release x64。若要指定运行哪个项目,需要对项目右键-设为启动项。然后就可以生成并运行了

注意:

  1. 目前教程仅支持VS2017(或平台工具集v141)及更高版本!
  2. 由于Assimp不支持Win32(x86),本项目仅支持64位系统
  3. Win7打开需要安装Service Pack 1以及KB2670838补丁

项目概况

语言:

  • C++17
  • HLSL Shader Model 5.0

目前项目使用了下述代码库或文件:

作为教程演示项目,这里并不是以实现一个软引擎为目标。建议读者在跟随教程学习的同时要动手实践。

打包教程示例程序

以项目31的程序(Release x64)为例,其文件结构应为:

Project 31
|----Model/                    (挑出项目用到的模型)
|----Texture/                  (挑出项目用到的纹理)
|----31 Shadow Mapping/        (此处命名自由发挥,比如bin)
     |----31 Shadow Mapping.exe
     |----imgui.ini
     |----assimp-vc14*-mt.dll  (从build/Assimp/bin/Release(或Debug)复制一份)
     |----Shaders/

支持/赞赏博主

博客和项目维护不易,如果本系列教程对您有所帮助,希望能够扫码支持一下博主。

使用Direct3D 11.x(Windows SDK)编写的魔方

点此查看

最近更新

  • 2023/12/12 Ver2.38.5
    • 修复项目39的模型读取问题

历史更新记录

About

现代DX11系列教程:使用Windows SDK(C++)开发Direct3D 11.x

https://directx11.tech

License:MIT License


Languages

Language:C++ 70.3%Language:COBOL 10.0%Language:C 9.8%Language:Python 2.1%Language:CMake 1.8%Language:HLSL 1.6%Language:Java 1.1%Language:HTML 0.7%Language:D 0.6%Language:Assembly 0.5%Language:Rich Text Format 0.3%Language:Ada 0.3%Language:Pascal 0.2%Language:C# 0.2%Language:Objective-C++ 0.1%Language:Shell 0.1%Language:Makefile 0.1%Language:M4 0.1%Language:Batchfile 0.0%Language:SWIG 0.0%Language:Inno Setup 0.0%Language:Rust 0.0%Language:GLSL 0.0%Language:JavaScript 0.0%Language:Objective-C 0.0%Language:Roff 0.0%Language:UnrealScript 0.0%Language:DIGITAL Command Language 0.0%Language:ShaderLab 0.0%Language:Dockerfile 0.0%Language:Smarty 0.0%