Code Monkey home page Code Monkey logo

mkxjun / directx11-with-windows-sdk Goto Github PK

View Code? Open in Web Editor NEW
1.4K 45.0 351.0 388.49 MB

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

Home Page: https://directx11.tech

License: MIT License

C++ 80.02% C 11.16% HLSL 1.84% CMake 2.10% Batchfile 0.05% Dockerfile 0.01% Python 2.36% JavaScript 0.02% Shell 0.10% Makefile 0.08% M4 0.08% HTML 0.80% Ada 0.35% Assembly 0.54% Pascal 0.22% C# 0.21% DIGITAL Command Language 0.01% Roff 0.01% Inno Setup 0.04% Rust 0.03%
directx11 windows-sdk dx11 visual-studio visual-studio-code cmake win7-11 imgui assimp

directx11-with-windows-sdk's Introduction

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的模型读取问题

历史更新记录

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.