随笔分类 - DirectX12
摘要:12、几何着色器 如果不启用曲面细分,那么几何着色器这个可选阶段将会在位于顶点着色器和像素着色器之间。顶点着色器以顶点作为输入数据,而几何着色器以完整的图元为输入数据。与顶点着色器不同的是,顶点着色器不可以销毁或者创建图元,几何着色器可以销毁或者创建几何图形,我们可以借助这个特点将输入的图元扩展成一
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 11、模板 模板缓冲区(stencil buffer)是一种“离屏”(off screen)缓冲区,我们可以利用它来实现一些效果。模板缓冲区、后台缓冲区以及深度缓冲区都拥有相同的分辨率,这三者相同位置上的像素可以一一对应。由4.1.5节可知,模板缓冲区要和一个深度
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 10、混合 本章将研究 混合 技术,混合技术可以让我们将当前需要光栅化的像素(也称为 源像素 )和之前已经光栅化到后台缓冲区的像素(也称为 目标像素 )进行融合。因此,该技术可以用来渲染如水和玻璃之类的半透物体。 学习目标 1. 理解混合技术的工作原理,并且在Di
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 10、混合 本章将研究 混合 技术,混合技术可以让我们将当前需要光栅化的像素(也称为 源像素 )和之前已经光栅化到后台缓冲区的像素(也称为 目标像素 )进行融合。因此,该技术可以用来渲染如水和玻璃之类的半透物体。 学习目标 1. 理解混合技术的工作原理,并且在Di
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 附有纹理的山川演示程序(第九章内容) 9.11、附有纹理的山川演示程序 在该演示程序中,我们将会为陆地和河流的场景演示程序中添加纹理。为陆地和河流的场景演示程序添加纹理主要有两个问题: 1. 由于陆地的网格是一个极大且不规则的曲面,所以如果只是简单的拉伸纹理,将导
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 板条箱演示程序(第九章内容) 9.9、板条箱演示程序 在这一小节中我们将展示如何向立方体添加板条箱纹理的关键步骤 9.9.1、指定纹理坐标 下面的代码将会展示如何生成立方体的纹理坐标,使得纹理图像可以映射到立方体的每一个表面 9.9.2、创建纹理 接下来我们将会在
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。谢谢! 9、纹理贴图 学习目标 1. 学习如何将局部纹理映射到网格三角形中 2. 探究如何创建和启用纹理 3. 学会如何通过纹理过滤来创建更加平滑的图像 4. 探索如何使用寻址模式来进行多次贴图 5. 探究如何将多个纹理进行组合,从而创建出新的纹理和特效 6. 学习如何通
        阅读全文
                
摘要:仅供个人学习使用,请勿转载。 9、纹理贴图 学习目标: 1. 学习如何将局部纹理映射到网格三角形上 2. 探究如何创建和启用纹理 3. 学会如何通过纹理过滤来创建更加平滑的图像 4. 探索如何使用寻址模式来进行多次纹理贴图 5. 探索如何将多个纹理进行组合,从而创建出新的纹理和特效 6. 学习如何通
        阅读全文
                
摘要:光照演示程序(第八章内容) 8.14、光照演示程序 本章演示程序基于上一章的“陆地与波浪演示程序”的基础上构建而成的,其中利用了一个方向光来表示太阳,用户可以使用方向键来控制太阳的方向。 8.14.1、顶点格式 光照的计算需要依赖于表面法线,所以我们会 在顶点层级定义法线 ,方便在光栅化过程中进行插
        阅读全文
                
摘要: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中的顶点数据,并且
        阅读全文
                
摘要: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、从视觉观察效果来看,
        阅读全文
                
摘要:初始化Direct3D演示(第四章内容) 初始化Driect3D类: include "Common\d3dApp.h" include using namespace DirectX; class InitDirect3DApp : public D3DApp { public: InitDire
        阅读全文
                
摘要:Direct3D的初始化(下) 学习目标 1. 了解Direct3D在3D编程中相对于硬件所扮演的角色 2. 理解组件对象模型COM在Direct3D中的作用 3. 掌握基础的图像学概念,例如2D图像的存储方式,页面翻转,深度缓冲,多重采样以及CPU和GPU之间的交互 4. 学习使用性能计数器函数,
        阅读全文
                
摘要:Direct3D的初始化(上) 学习目标 1. 了解Direct3D在3D编程中相对于硬件所扮演的角色 2. 理解组件对象模型COM在Direct3D中的作用 3. 掌握基础的图像学概念,例如2D图像的存储方式,页面翻转,深度缓冲,多重采样以及CPU和GPU之间的交互 4. 学习使用性能计数器函数,
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号