GPU和CPU的渲染和渲染管道出图原理

下面这图是的们的讲解例图:两者的渲染差距;

左边为GPU,右边为CPU。

GPU具有高并行结构:高并行结构就是可以并行处理逻辑运算或者图形数据。(就相当于田径比赛,你跑你的,我跑我的,都是独立的,互不干扰)。

先看右边CPU的图 一个超大的Control(控制器)和一个超大的Cache(寄存器/缓冲区)。还有四个ALU( 逻辑运算单元);

而左边的GPU的图 Control和Cache很小,但是有非常多的ALU。

很明显,CPU主要的都是控制器和缓冲区,而ALU很少,那么它处理大量的逻辑运算与图形数据时就会比较慢。
而GPU则不一样,他主要的都是ALU,所以它最突出的优势便是处理大量的逻辑运算与图形数据。

GPU采用的是流式并行计算模式

可以对每个数据进行独立的并行计算,简而言之就是“对数据的独立运算。
既流内的任意元素的计算,不依赖于其他同类型数据。(这句话的意思看GPU的举例)

举例:任务画一百张图。
CPU一个人画,但他只有两双手,所以他可以同时拿两支笔在一分钟内画好两张图鬼画符,那么画完一百张要花费50分钟。

而GPU却有100只手(不要问我怎么人可以有一百只手在身上。你信不信我打你,所以GPU可以同时拿一百只笔画画,那么他画完一百张图,只需要一分钟。

每一张画,都是一只手画的,跟其他的九十九只手没有关系,互不联系,互不干扰。

当然,流内的任意元素的计算,不依赖于其他同类型数据。这句话也是缺点。
因为他不依赖于其他同类型数据。所以他不知道别的数据。Control(控制器)处理数据之间的联系。但是看GPU的上面的那图片,GPU的Control非常少,所以处理交互运算能力会很弱。
举例子弹打到人身上的交互运算、车撞到栏杆的交互运算。

渲染

一个3D游戏画面是怎么呈现的呢?看下图。
在这里插入图片描述
这个应该很清晰明了了。中间有个渲染管道(就是那个黑图),把他看成一个机器,你只管扔东西进去,他就会给你做染色呈现等等操作。画面就是这样出现的。

那么接下来,我们看看这个渲染管道的内部。
在这里插入图片描述
顶点处理:在渲染管线中,将每个顶点的顶点的坐标,颜色,光照和纹理坐标等基本信息设定好,然后将顶点数据作为输入传递给顶点着色器。,每个顶点都独立的被执行。(图中的立方体有八个顶点,圆柱的那个圆周是由大量的顶点围绕组成的);
面处理:面组装: 将点连线得到的组成物体的平面。如果屏幕的大小装不下物体的时候,会对物体进行截取, 将屏幕外的面进行剔除, 只渲染屏幕内部的东西。(图中的立方体只能看到三个面,剩下三个面看不见就是被剔除了,不渲染)
光栅化光栅化的本质是坐标变换、几何离散化。看不懂?那看下面一句。
光栅化,就是将几何信息转换成一个个的栅格组成的图像的过程。还看不懂?那再看下面一句。
每一个美术模型由顶点和顶点构成的三角面来确定。将3D模型绘制到屏幕上时,根据每个三角面的三个顶点,将这个三角面所覆盖的每一个像素(栅格)进行填充的过程,就叫做光栅化。还看不懂?那再看下面图。
在这里插入图片描述
再往回看字面意思。再不懂,就看多几遍。如果还不懂,咱们就还是别看了,当个低层UI拼图仔吧。

像素处理:对每个像素区域进行着色、对像素贴上贴图。这个应该不用解释吧

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值