当前课程知识点:游戏程序设计 >  第七章 《实时图形渲染管道》 >  7.3实时图形渲染管道 几何阶段 >  7.3实时图形渲染管道 几何阶段

返回《游戏程序设计》慕课在线视频课程列表

7.3实时图形渲染管道 几何阶段在线视频

下一节:7.4实时图形渲染管道 光栅化阶段

返回《游戏程序设计》慕课在线视频列表

7.3实时图形渲染管道 几何阶段课程教案、知识点、字幕

这就是我们在应用阶段的操作

我们可以想一下其实应用阶段

就是说拿到一个场景来筛选

那些场景中我需要画置哪些物体

或者绘制哪些物体

然后最后的话把这些物体拆分成一个一个图元

然后交给GPU

让GPU去绘制

然后GPU的话

其实它GPU拿到我们所有渲染指令之后

它其实是有两个阶段

然后第一个阶段是几何阶段

第二个阶段是光栅化阶段

然后几何阶段

其实它就是说

因为之前我们已经把

用VertexBuffer和IndexBuffer

等于说把图元已经拆分成

这些Buffer的数据结构

这些数据了

然后我需要在这个GPU里面

先把这些数据给它装配回去

就等于我先要建立它这个映射关系和拓扑关系

来知道我现在这些三角形是在哪里

就是它们是如何组织的

以及在哪里和

一些法线这些额外操作

然后我会进行一个顶点着色的操作

就等于是vertex shader

然后它这块的话输入

每一个顶点的属性

然后来进行计算变换

然后包括纹理坐标

还有一些顶点光照的内容

然后它会把所有结果

在裁切空间中来进行输出

然后这个时候我们来看一下

就是顶点着色的空间变化的这块

然后在几何图元shader中

其实有这几步

第一步

其实我们一个模型传进来的时候

还是在它自己的模型空间中的

然后是model space

然后我们会把它变换到世界空间

就等于相当于我有一个

水杯的模型

就是有水瓶的模型

它的模型(空间原点)可能是在自己的水瓶底部

然后这个时候是它的模型空间

我要把它变成世界空间

就变成了实际放的那个位置

然后观察空间会说

我用观察者的原点来建一个坐标系

然后这个时候是观察空间

然后最后它再变换到

齐次空间和屏幕空间

然后我们可以看下这个

看下这个是怎么变的

就是在游戏中

它其实会有一个变换矩阵

就是我们之前课程可能有一些几何基础内容

它会说

我拿个矩阵去乘这个顶点的是模型空间位置

就可以从

用这个矩阵

然后这个矩阵可以把顶点

从模型空间变成世界空间

然后我们去乘这个矩阵

然后最后就变成了世界空间中的顶点位置

然后这个矩阵就是世界矩阵

然后除此之外的话就是,我们在进行完

世界空间的矩阵变换之后

世界空间中的顶点位置

然后我们再去乘

从(世界)空间到视空间的矩阵

然后这个时候我们能够把

视空间的

(世界)空间的顶点变到视空间下面

等于这个矩阵就是view矩阵

然后我们可以看一下

就是说现在这个

如果我定义一个球

就是这个圆球

它是在相对于自己的

中心点是模型空间

然后把它变成这个坐标系下是世界空间

然后在这个观察者位置之下

我会把它变成视空间

然后这个视空间

其实就是在摄像机

朝向的时候建立一个坐标系

然后这个时候它的观察

就是我们可以想一下

就是说他这个球可能是个单位球体在这

然后最后变成世界空间

然后

从世界空间变成了视空间

它是有这样一个流程

在变到视空间之后

然后其实我们要进行投影计算

然后投影计算一般是有两种

就是透视投影和正交投影

然后一般情况下透视投影

可能会用到一些

偏3D的游戏

就是比如射击游戏或者赛车游戏这些

但是可能正交投影

我们用那些比较多的就是

一些2D的卷轴的游戏

投影空间之后

其实我们需要进行一步

就是说把它当前的结果会变成

变换到一个那个齐次裁剪空间

相当于我们可以理解为

我们把这个面拽了

然后最后拽成这样一个

立方体的结构里面

然后等于这个是一次变化

然后相当于我们这样这个投影

投影椎体的结果

其实就是现在当前这个画面看到的结果

我们还是看一个实际的例子

就是我们刚才看到一个

比这个复杂一点的

顶点着色器shader

然后我们看一下

其实我们就是可以做的操作就是

顶点动画、骨骼动画、

蒙皮动画,还有阴影

然后还可以进行一些简单的光照

然后这个时候是几何阶段

几何阶段还有一个附选的过程

就是附加的选择的过程

它是几何着色器

还有那个Hull着色器和Domain着色器

然后这个时候

他其实是可以来进行一些网格的Tessellation(曲面细分)

或者一些变换的操作,相当于其实

我可以来去增加网格的一些复杂度

还有这块我可以经过曲面细分

把一个比较平的平面

来添加更多的线和点上去

然后这个时候表达一些更好的凹凸效果

这个其实就是在

vertex shader之外额外加的一些选择

然后这个是朝向剔除

就等于是说他会

就是它会在算的时候来选我们这个物体

我是按正面绘制还是按背面绘制

还是来进行双面的绘制

然后在之前那个shader中

我们也可以看到这个选项

然后三角形裁剪的话其实等于是说

因为有些物体

它其实是骑在这个视锥的边上的

然后这个时候会把外面的东西来剔掉

然后只往下一个阶段传这些裁完的结果

然后裁剪计算其实就只是说在这个

齐次裁剪空间中的这个

负1到正1的范围中进行计算

然后我们之前我们的这个运算是在那个

负1到正1

但是其实我们的屏幕并不一定是

肯定我们屏幕的那个大小不是负1正1

我们屏幕的大小可能比如1920*1080

然后这种大小它其实会把

负1到正1这个空间

然后再转换到它视口的这个空间上面来

就等于是这边的位置

然后变成我们

再比如一个设备

1920*1080

坐标系下的一个操作

然后这个是我们几何阶段(整个流程)

就等于是我们拿到模型

把这个模型装上

然后可能会进行一些

着色计算

就可能

就是进行一些光照计算

然后把这个图元进行一些增点

就是通过GeometryShader或者其他的

曲面细分的方式

然后再把它们变到摄像机空间

然后再进行背面剔除和裁切

然后这个时候我们已经完成了几何阶段

游戏程序设计课程列表:

第一章 《游戏开发导论》

-1. 1什么是游戏(上)

--1.1 什么是游戏(上)

--选择题

-1.2 什么是游戏(下)

--1.2 什么是游戏(下)

--选择题

-1.3 游戏是如何开发出来的

--1.3 游戏是如何开发出来的

-1.4 游戏引擎(上)

--1.4 游戏引擎(上)

-1.5 游戏引擎(下)

--1.5 游戏引擎(下)

--单选题

-1.6 如何成为一个游戏开发者

--1.6 如何成为一个游戏开发者

--多选题

第二章 《游戏服务器概述 》

-2.1 什么是游戏服务器

--2.1 什么是游戏服务器

--单选题

-2.2 游戏服务器的和分类发展

--2.2 游戏服务器的和分类发展

--单选题

-2.3 核心技术和实现难点

--2.3 核心技术和实现难点

--单选题

-2.4 设计原理与方法论

--2.4 设计原理与方法论

--单选题

第三章 《《三维几何学基础》 》

-3.1 三维坐标系统

--3.1 三维坐标系统

--多选题

-3.2 向量与运算

--3.2 向量与运算

--单选题

-3.3 矩阵与线性变换

--3.3 矩阵与线性变换

--双选题

-3.4 四元数

--3.4 四元数

--多选题

第四章 《游戏循环及实时模拟》

-4.1 游戏循环概述(上)

--4.1 游戏循环概述(上)

--多选题

-4.2 游戏循环概述(下)

--4.2 游戏循环概述(下)

--单选题

-4.3 《无尽之路》的实现

--4.3 《无尽之路》的实现

--单选题

-4.4 支撑游戏的功能

--4.4 支撑游戏的功能

--选择题

-4.5 支撑游戏的机制与系统

--4.5 支撑游戏的机制与系统

--多选题

第五章 《随机数在游戏中的应用》

-5.1 基本介绍

--5.1 基本介绍

--单选题

-5.2 随机数生成器

--5.2 随机数生成器

--单选题

-5.3 随机数分布与应用

--5.3 随机数分布与应用

--单选题

第六章 《游戏性系统》

-6.1 什么是游戏玩法开发

--6.1 什么是游戏玩法开发

--单选题

-6.2 建立愿景 Vision

--6.2 建立愿景 Vision

--单选题

-6.3 划定边界 Scope

--6.3 划定边界 Scope

-6.4 迭代 Iteration

--6.4 迭代 Iteration

--单选题

-6.5 迭代 Iteration+抛光Polish

--6.5 迭代 Iteration+抛光Polish

--单选题

第七章 《实时图形渲染管道》

-7.1实时图形渲染管道 宏观渲染系统

--7.1实时图形渲染管道 宏观渲染系统

--单选题

-7.2实时图形渲染管道 应用阶段

--7.2实时图形渲染管道 应用阶段

--单选题

-7.3实时图形渲染管道 几何阶段

--7.3实时图形渲染管道 几何阶段

--单选题

-7.4实时图形渲染管道 光栅化阶段

--7.4实时图形渲染管道 光栅化阶段

--单选题

-7.5实时图形渲染管道 总结 参考

--7.5实时图形渲染管道 总结 参考

第八章 《材质着色与光照》

-8.1 物理回顾1

--8.1 物理回顾1

--单选题

-8.2 物理回顾2

--8.2 物理回顾2

--单选题

-8.3 材质 1

--8.3 材质 1

-8.4 材质 2

--8.4 材质 2

-8.5 材质3

--8.5 材质3

-8.6局部光照

--8.6局部光照

--单选题

-8.7 全局光照

--8.7 全局光照

--单选题

第九章 《游戏动画》

-9.1 动画介绍

--9.1 动画介绍

--多选题

-9.2 游戏动画介绍

--9.2 游戏动画介绍

-9.3 动画技术类型

--9.3 动画技术类型

--多选题

-9.4 骨骼蒙皮动画

--9.4 骨骼蒙皮动画

--多选题

-9.5 动画流水线

--9.5 动画流水线

--多选题

-9.6 动画前沿趋势

--9.6 动画前沿趋势

--多选题

第十章 《网络同步技术》

-10.1 .基本概念

--10.1 .基本概念

--多选题

-10.2 设计目标

--10.2 设计目标

--多选题

-10.3 传输数据分析

--10.3 传输数据分析

--多选题

-10.4 常用同步方案 1

--10.4 常用同步方案 1

-10.4 常用同步方案 2

--10.4 常用同步方案 2

-10.4 常用同步方案 3

--10.4 常用同步方案 3

-10.4 常用同步方案 4

--10.4 常用同步方案 4

--多选题

-10.5 方案对比

--10.5 方案对比

--多选题

第十一章 《游戏常用几何学》

-11.1 基本图元

--11.1 基本图元

--单选题

-11.2 图元距离(上)

--11.2 图元距离(上)

--单选题

-11.2 图元距离(下)

--11.2 图元距离(下)

--单选题

-11.3 图元相交测试+ 其他几何方法

--11.3 图元相交测试+ 其他几何方法

--单选题

第十二章 《游戏物理模拟》

-12.1 著名物理引擎介绍

--12.1 著名物理引擎介绍

--单选题

-12.2 物理引擎原理(上)

--12.2 物理引擎原理(上)

--单选题

-12.3 物理引擎原理(下)

--12.3 物理引擎原理(下)

--单选题

-12.4 游戏中的物理体

--12.4 游戏中的物理体

--单选题

-12.5 物理引擎使用入门

--12.5 物理引擎使用入门

--单选题

第十三章 《开发工具 》

-13.1开发语言

--13.1开发语言

--单选题

-13.2 开发环境

--13.2 开发环境

--单选题

-13.3 腾讯开发组件介绍

--13.3 腾讯开发组件介绍

--单选题

-13.4 网络通信+业务框架介绍

--13.4 网络通信+业务框架介绍

--多选题

第十四章 《分布式系统设计 》

-14.1 进程间通信(上)

--14.1 进程间通信(上)

-14.2 进程间通信(下)

--14.2 进程间通信(下)

-14.3 通信格式

--14.3 通信格式

-14.4 并发模型

--14.4 并发模型

-14.5 超时处理

--14.5 超时处理

-14.6 大系统小做(上)

--14.6 大系统小做(上)

--多选题

-14.7 大系统小做(下)

--14.7 大系统小做(下)

-14.8 架构层面的技术支持(上)

--14.8 架构层面的技术支持(上)

--单选题

-14.9 架构层面的技术支持(下)

--14.9 架构层面的技术支持(下)

-14.10 分布系统的关键能力

--14.10 分布系统的关键能力

--多选题

第十五章 《游戏人工智能》

-15.1 游戏人工智能综述

--15.1 游戏人工智能综述

-15.2 人工智能在游戏中主要方法 上

--15.2 人工智能在游戏中主要方法 上

--多选题

-15.3人工智能在游戏中主要方法 (下)

--15.3人工智能在游戏中主要方法 (下)

-15.4 人工智能在游戏制作中的应用领域1

--15.4 人工智能在游戏制作中的应用领域1

--多选题

-15.5 人工智能在游戏制作中的应用领域2

--15.5 人工智能在游戏制作中的应用领域2

-15.6 人工智能在游戏制作中的应用领域3

--15.6 人工智能在游戏制作中的应用领域3

--多选题

-15.7 人工智能在游戏运营中的应用实践(上)

--15.7 人工智能在游戏运营中的应用实践(上)

-15.8 人工智能在游戏运营中的应用实践(下)

--15.8 人工智能在游戏运营中的应用实践(下)

--多选题

第十六章 《游戏支撑系统 》

-16.1 游戏支撑系统(1)

--16.1 游戏支撑系统(1)

--单选题

-16.2 游戏支撑系统(2)

--16.2 游戏支撑系统(2)

--单选题

-16.3 游戏支撑系统(3)

--16.3 游戏支撑系统(3)

--单选题

-16.4 游戏支撑系统(4)

--16.4 游戏支撑系统(4)

--单选题

-16.5 游戏支撑系统(5)

--16.5 游戏支撑系统(5)

第十七章 《游戏逻辑服务器和反外挂》

-17.1 游戏逻辑服务器(上)

--17.1 游戏逻辑服务器(上)

--单选题

-17.1 游戏逻辑服务器(下)

--17.1 游戏逻辑服务器(下)

-17.2 外挂与反外挂(上)

--17.2 外挂与反外挂(上)

-17.2 外挂与反外挂(下)

--17.2 外挂与反外挂(下)

--多选题

第十八章 《运行环境和运维 》

-18.1运行环境

--18.1运行环境

--多选题

-18.2物理部署

--18.2物理部署

--多选题

-18.3系统的可运维性

--18.3系统的可运维性

--多选题

-18.4运维案列分析

--18.4运维案列分析

--多选题

7.3实时图形渲染管道 几何阶段笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。