摘要:
DirectX12 3D 游戏开发与实战第八章内容(下) 8.9、材质的实现 下面是材质结构体的部分代码: 为了模拟出真实世界中的材质,我们需要设置 DiffuseAlbedo(漫反射反照率) 和 FresnelR0(介质的一种属性) 这对和真实度相关的数值,然后添加一些细节调整,以达到更佳的视觉效 阅读全文
摘要:
8、光照 学习目标 1. 对光照和材质的交互有基本的了解 2. 了解局部光照和全局光照的区别 3. 探究如何用数学来描述位于物体表面上某一点的“朝向”,以此来确定入射光照射到表面的角度 4. 学习如何正确的变换法向量 5. 能够区分环境光、漫反射光以及镜面光 6. 学习如何实现平行光、点光以及聚光灯 阅读全文
摘要:
7.7、陆地与波浪演示程序 在本小节中,我们将展示如何构建“陆地与波浪”演示程序: 1. 构建一个三角形栅格(grid),并通过将其中的顶点设置到不同的位置来创建 地形 2. 再构建一个三角形栅格(grid),通过动态的改变其顶点高度来创建 波浪 3. 此示例还会 针对不同的常量缓冲区来切换所使用的 阅读全文
摘要:
利用Direct3D绘制几何体(续) 学习目标 1. 学会一种无须每帧都要刷新命令队列的渲染流程,由此来优化程序的性能 2. 了解另外两种跟签名参数类型:根描述符和根常量 3. 探索如何在程序中生成和绘制常见的几何体,如栅格、圆台和球体 4. 研究如何通过动态顶点缓冲区来更新CPU中的顶点数据,并且 阅读全文
摘要:
c++匿名函数使用方法 1、匿名函数的使用 匿名函数的基本语法为: //[捕获列表](参数列表)->返回类型{函数体} int main() { auto Add = [](int a, int b)->int { return a + b; }; std::cout << Add(1, 2) << 阅读全文
摘要:
7.5 绘制多种几何体演示程序 在本小节中,我们将示范生成球体和柱体的代码。在探究该示例的过程中,我们可以学习到: 1. 如何在场景中利用创建多个世界变换矩阵绘制对个物体并对其进行定位 2. 如何将场景中所有几何体都放置在一个大的顶点缓冲区和一个索引缓冲区中 7.5.1 顶点缓冲区和索引缓冲区 在本 阅读全文
摘要:
利用Direct3D绘制几何体(续) 学习目标 1. 学会一种无须每帧都要刷新命令队列的渲染流程,以此来优化性能 2. 了解另外两种根签名参数类型:根常量和根描述符 3. 探索如何在程序中生成和绘制常见的几何体:如栅格、圆台和球体 4. 研究怎样通过动态顶点缓冲区来更新CPU中的顶点数据,并且向GP 阅读全文
摘要:
利用Direct3D绘制几何体 学习目标 1. 探索用于定义、存储和绘制几何体数据的Direct接口和方法 2. 学习编写简单的顶点着色器和像素着色器 3. 了解如何用渲染流水线状态对象来配置渲染流水线 4. 理解怎样创建常量缓冲区数据。并将其绑定到渲染流水线上 5. 掌握根签名的用法 6.1 顶点 阅读全文
摘要:
渲染流水线 学习目标: 1. 了解用于在2D图像中表现出场景立体感和空间深度感等真实效果的关键因素 2. 探索如何用Direct3D表示3D对象 3. 学习如何建立虚拟摄像机 4. 理解渲染流水线,根据给定的3D场景的几何描述,生成其2D图像的流程 5.1 3D视觉即错觉? 1、从视觉观察效果来看, 阅读全文
摘要:
无法解析的外部符号.........,该符号在函数.........被引用 在我们敲代码的过程中,我们偶尔会遇到这个问题,这个问题大多数都是因为你自己的程序有问题,而不是缺少相应的库文件。话不多说,直接看例子: 在上面报错信息中,我们可以看到一堆看不懂的符号,那些都不重要, 主要看那个无法解析的外部 阅读全文