![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DirectX 12 3D游戏开发实战
文章平均质量分 82
学习笔记。
金朝
活到老,学到老.
展开
-
利用Direct3D绘制几何体
基础知识:如下所示:1.除了空间位置信息,Direct3D中的顶点还可以存储其他类型的属性数据(法线,纹理等)。2.在Direct3D 12中,所有的资源均用ID3D12Resource接口表示。可以通过ID3D12Device::CreateCommittedResource函数来获取该接口对象。3.资源类型由D3D12_RESOURCE_DIMENSION字段加以区分。如:D3D12_RESOURCE_DIMENSION_BUFFER表示缓冲区;D3D12_RESOURCE_DIMENSION_T原创 2021-04-26 22:13:52 · 483 阅读 · 0 评论 -
HLSL高级着色器语言
变量类型:如下所示:1.标量类型如表所示:名称说明bool取值非真即假。HLSL为此而提供了类似于C++语言中的true与false关键字。int32位有符号整数,平台不支持时就用float类型进行模拟。half16位浮点数,平台不支持时就用float类型进行模拟。float32位浮点数。double64位浮点数,平台不支持时就用float类型进行模拟。2.向量类型如表所示:名称说明float22D向量,其中的分量都是f原创 2021-03-29 20:12:37 · 1449 阅读 · 0 评论 -
渲染流水线
常用概念:如下所示:1.渲染流水线也叫做渲染管道,渲染管线,绘制流水线,图形流水线等。2.可以把渲染流水线想象为一个工厂里的流水线,里面有不同的加工环节(也就是渲染阶段),可以根据用户需求对每个环节灵活改造或拆卸(也就是在不同的着色器中编写自定义函数以及开启或者禁用某些渲染阶段)。以此把原始材料(CPU端向GPU端提交的纹理资源以及指令等)加工为成品(像素颜色)出售给消费者(用户屏幕)。3D视觉的表示:根据人们在真实生活中观察物体的经验,我们可以总结出一些规律。运用这些规律,我们便可以通过2D图像模拟原创 2021-03-24 12:56:39 · 192 阅读 · 0 评论 -
初始化Direct3D
1.用D3D12CreateDevice函数创建ID3D12Device接口实例。参考代码如下所示:// 通过默认适配器来创建硬件设备HRESULT hardwareResult = D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&md3dDevice));// 创建硬件设备失败时就使用WARP适配器来创建硬件设备if (FAILED(hardwareResult)){ ComPtr<UDXGIAda原创 2021-03-19 13:06:49 · 477 阅读 · 1 评论 -
CPU与GPU间的交互
1.每个GPU中都至少有一个命令队列。CPU可以通过Direct3D API用命令列表向该队列提交命令,而这些命令则指挥GPU执行某些操作。在命令没有到达队列首部以前,用户所提交的命令是无法被执行的。如果命令队列内为空,则GPU会因为没有任务要去处理而处于空闲状态;但若命令队列被装的太满,则CPU将在某个时刻因提交命令的速度追上GPU执行命令的速度而进入空闲状态。值得一提的是,这两种情景其实都没有充分地利用系统资源。2.GPU是系统中与CPU一起并行工作的第二种处理器。有时,我们需要对CPU与GPU进行同原创 2021-03-17 17:30:20 · 2798 阅读 · 0 评论 -
预备知识
1.DirectX:它是微软公司创建的多媒体编程接口,由显示部分(由负责2D显示的DirectDraw和3D显示的Direct3D组成)、声音部分(DirectSound)、输入部分(DirectInput)和网络部分(DirectPlay)组成。2.Direct3D:它是DirectX中的重要组成部分,是编写高性能3D图形应用程序的渲染库。可以把它看作是一种介于程序员和图形硬件之间的桥梁。借此,程序员便可以通过调用Direct3D函数来实现把资源视图绑定到硬件渲染流水线,配置渲染流水线的输出以及绘制3D原创 2021-03-17 16:27:31 · 247 阅读 · 0 评论 -
必备的数学知识
向量代数:如下所示:1.向量可以用来模拟同时具有大小和方向的物理量。在几何学上,我们用有向线段来表示向量。其中线段长度代表向量的大小(也叫做模),箭头的指向代表向量的方向。2.当向量平移至尾部与所在坐标系原点恰好重合的位置时,向量位于标准位置。一旦向量处于标准位置,我们便可以用向量头部相对于坐标系的坐标来作为它的数学描述。3.改变向量的位置并不会对其大小或者方向这两个属性造成任何影响,因此两个向量相等就等价于它们的长度相等且方向相同。4.假设向量u=...原创 2021-03-02 20:22:03 · 1211 阅读 · 1 评论 -
在VS2019中新建DX12工程
前期准备:如下所示:1.Windows 10操作系统 + 一款支持Direct3D 12的显卡。2.下载Visual Studio 2019。3.下载本书源代码。安装演示项目:如下所示:1.首先解压下载好的源码;然后在源码根目录下新建一个MyDemos目录。如图所示:2.首先打开VS2019;然后新建一个将解决方案和项目放在相同的目录下的Win32空项目工程,项目名为MyD3DProject。如图所示:错误参考解决方案:如下所示:1.https://blog.csdn.net/qq_3481原创 2021-03-01 12:37:18 · 1579 阅读 · 5 评论