DirectX11 入门篇
无
X_Jun96
与DX结下的不解之缘
展开
-
DirectX11 With Windows SDK--01 DirectX11初始化
01 DirectX11初始化由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且Direct SDK Samples里面的初始化程序过于精简,不适合后续使用,故选择了结合两者的代码,并做进一部简化处理。项目源码点此链接静态库这里的每一个项目都需要包含静态库:d3d11.lib,dxgi.lib,dxguid.lib,D3DCompiler.lib和w...原创 2018-05-12 18:20:37 · 7335 阅读 · 5 评论 -
DirectX11 With Windows SDK--02 顶点/像素着色器的创建、顶点缓冲区
回到 DirectX11–使用Windows SDK来进行开发目前暂时没有写HLSL具体教程的打算,而是着重于如何做到不用DirectX SDK来进行渲染。除此之外,这里也没有使用Effects框架的想法,而是直接通过调用一系列替代方法来实现。因为Effects11框架是一个微软自己编写的第三方库,用于管理着色器。在DirectX SDK中有Effects11框架的代码,但是也已经经过了8年时...原创 2018-05-13 13:50:50 · 4255 阅读 · 6 评论 -
DirectX11 With Windows SDK--03 索引缓冲区、常量缓冲区
回到 DirectX11–使用Windows SDK来进行开发一个立方体有8个顶点,然而绘制一个立方体需要画12个三角形,如果按照前面的方法绘制的话,则需要提供36个顶点,而且这里面的顶点数据会重复4次甚至5次。这样的绘制方法会占用大量的内存空间。接下来会讲另外一种绘制方法,可以只提供立方体的8个顶点数据,然后用一个索引数组来指代使用哪些顶点,按怎样的顺序绘制。项目源码点此立方体顶...原创 2018-05-13 17:52:06 · 2604 阅读 · 1 评论 -
DirectX11 With Windows SDK--04 变换
前言这一章涉及的是常用的矩阵变换,绝大部分内容节选自龙书,以帮助大家构建矩阵与2D/3D空间的数学联系。学习目标:了解Direct3D的一些内在规定掌握矩阵变换与2D/3D空间的联系熟悉3D变换与投影成像的过程熟悉2D变换与投影成像的过程DirectX11 With Windows SDK完整目录Github项目源码欢迎加入QQ群: 727623616 可以一起探讨DX11,...原创 2020-01-10 09:07:09 · 2005 阅读 · 2 评论 -
DirectX11 With Windows SDK--05 DirectXMath数学库
回到 DirectX11 使用Windows SDK来进行开发xnamath.h原本是位于DirectX SDK的一个数学库,但是现在Windows SDK包含的数学库已经抛弃掉原来的xnamath.h,并演变成了现在的DirectXMath.h。其实本质上并没有多大区别,只是将原来的xna数学函数移植到了这里,并多了一层名称空间DirectX。SIMD与SSE2指令集加速SIMD(单...原创 2018-05-15 17:18:48 · 2324 阅读 · 0 评论 -
DirectX11 With Windows SDK--06 键盘和鼠标输入
回到 DirectX11–使用Windows SDK来进行开发提供键鼠输入可以说是一个游戏的必备要素。在这里,我们不使用DirectInput,因为Windws SDK本身就不提供该头文件。这里我们使用的是Windows的消息处理机制,不过要从头开始实现会让事情变得很复杂。DXTK提供了鼠标输入的Mouse.h和键盘输入的Keyboard.h,对消息处理机制进行了封装,使用Mouse类和Key...原创 2018-05-14 10:05:17 · 2577 阅读 · 5 评论 -
DirectX11 With Windows SDK--07 添加光照与常用几何模型、光栅化状态
回到 DirectX11–使用Windows SDK来进行开发:http://www.cnblogs.com/X-Jun/p/9028764.html对于3D游戏来说,合理的光照可以让游戏显得更加真实。接下来会介绍光照的各种分量,以及常见的光照模型。除此之外,该项目还用到了多个常量缓冲区,因此还会提及HLSL的常量缓冲区打包规则以及如何设置多个常量缓冲区。项目源码点此:https://gi...原创 2018-06-21 14:51:13 · 3054 阅读 · 1 评论 -
DirectX11 With Windows SDK--08 Direct2D与Direct3D互操作性以及利用DWrite显示文字
回到 DirectX11–使用Windows SDK来进行开发:https://blog.csdn.net/X_Jun96/article/details/80293670在DX11,要显示文字可以说是一件比较麻烦的事情。DX9诸如Id3dXFont用于显示文字的接口类都已经被抛弃掉了。目前行之有效的两种显示文字的方法如下:使用包含文字的位图/矢量图,然后通过一定的方式来获取对应文字的矩...原创 2018-06-21 14:54:54 · 2599 阅读 · 2 评论 -
DirectX11 With Windows SDK--09 纹理映射与采样器状态
回到 DirectX11–使用Windows SDK来进行开发:http://www.cnblogs.com/X-Jun/p/9028764.html在之前的DirectX SDK中,纹理的读取使用的是D3DX11CreateShaderResourceViewFromFile函数,现在在Windows SDK中已经没有这些函数,我们需要找到DDSTextureLoader和WICTextur...原创 2018-07-12 09:49:14 · 3229 阅读 · 0 评论 -
DirectX11 With Windows SDK--10 摄像机类
前言世界矩阵和观察矩阵前言由于考虑后续的项目需要有一个比较好的演示环境,因此这里将先从摄像机这个专题入手。在这之前,需要复习一下有关世界矩阵和观察矩阵的内容。项目源码点此:https://github.com/MKXJun/DX11-Without-DirectX-SDK世界矩阵和观察矩阵若已知物体所在位置Qw=(Qx,Qy,Qz,1)Qw=(Qx,Qy,...原创 2018-07-16 17:08:39 · 2377 阅读 · 0 评论