美文网首页
光栅化阶段:三角形设置、三角形遍历、像素着色、合并

光栅化阶段:三角形设置、三角形遍历、像素着色、合并

作者: coldestheaven | 来源:发表于2019-12-17 19:43 被阅读0次

光栅化阶段

光栅化阶段分了四个步骤:三角形设置、三角形遍历、像素着色、合并。

三角形设置:

光栅化的第一个流水线阶段是三角形设置,这个阶段会计算光栅化一个三角网格所需的信息。具体来说,上一个阶段输出的都是三角网格的顶点,即我们得到的是三角网格每条边的两个端点。但如果要得到整个三角网格对像素的覆盖情况,我们就必须计算每条边上的像素坐标。为了能够计算边界像素的坐标信息,我们就需要得到三角形边界的表示方式。这样一个计算三角网格表示数据的过程就叫做三角形设置。它的输出是为了给下一个阶段做准备。

三角形遍历:

三角形遍阶段将会检查每个像素是否被一个三角网格所覆盖。如果被覆盖的话,就会生成一个片元,而这样一个找到哪些像素被三角网格覆盖的过程就是三角形遍。三角形遍历阶段会根据上一个阶段的计算结果来判断一个三角网格覆盖了哪些像素,并使用三角网格3个顶点的顶点信息对整个覆盖区域的像素进行插值。下图展示了三角形遍历阶段的简化计算过程。

这一步的输出就是得到一个片元序列。需要注意的是,一个片元并不是真正意义上的像素,,而是包含了很多状态的集合,这些状态用于计算每个像素的最终颜色。这些状态包括了(但不限于)它的屏幕坐标、深度信息,以及其他从几何阶段输出的顶点信息,例如法线、纹理坐标等。

像素着色:这一阶段在《UnityShader入门精要》讲的是片元着色器(Fragment Shader)。

片元着色器的输入是上一个阶段对顶点信息插值得到的结果,更具体来说,是根据那些从顶点着色器中输出的数据插值得到的。而它的输出是一个或者多个颜色值。下图显示了这样一个过程。这一阶段可以完成很多重要的渲染技术,其中最重要的技术之一就是纹理采样。为了在片元着色器中进行纹理采样,我们通常会在顶点着色器阶段输出每个顶点对应的纹理坐标,然后经过光栅化阶段对三角网格的3个顶点对应的纹理坐标进行插值后,就可以得到其覆盖的片元的纹渲染流水线坐标了。

合并阶段:这一阶段在OpenGL中称为逐片元操作。

这一阶段有几个主要任务。

(1)决定每个片元的可见性。这涉及了很多测试工作,例如深度测试、模板测试等。

(2)如果一个片元通过了所有的测试,就需要把这个片元的颜色值和已经存储在颜色缓冲区 P的颜色 ,或者说是混合。

这里的合并阶段内容很多涉及的知识点也相对较多,后面会单独开一篇来讲。

所以本篇的内容就讲到这里,内容比较少,但是积少成多。慢慢深入,加油!

本篇参考文献:

《UnityShader入门精要》-- 冯乐乐,人民邮电出版社,2018年3月第11次印刷。请支持正版!

本文转自:游戏蛮牛,作者:DeadWind,转载此文目的在于传递更多信息,版权归原作者所有。

相关文章

  • 光栅化阶段:三角形设置、三角形遍历、像素着色、合并

    光栅化阶段 光栅化阶段分了四个步骤:三角形设置、三角形遍历、像素着色、合并。 三角形设置: 光栅化的第一个流水线阶...

  • 图形学自问自答2——点在三角形内部判定

    如何判定一个点是否在三角形内部 光栅化的关键步骤是计算某个三角形覆盖到了哪些像素,需要依次判断每个像素的中心是否在...

  • opengl中概念的理解

    总结管线 关键词:定点着色器, Fragment 着色器,图形基本构成 点,线,三角形设置顶点位置,如三角形三个点...

  • iOS:用openGLES绘制各种常见图案(三角形,四边形,圆形

    首先是初始化openGL设置layer 设置上下文 设置缓冲区 着色器配置文件: 三角形和矩形的渲染 至于圆形,因...

  • 软件光栅化入门

    光栅化本质说白了就是填充一个三角形而已,各类3D模型的图元(基础组成3d模型的最小单位)为三角形,三角形填充完毕,...

  • 图形学 遮挡剔除算法综述

    1. Hidden Line Removal (HLR) 在光栅化的文章中,我们使用Z-Buffer来判断三角形面...

  • 光栅化理解

    什么叫光栅化? 光栅化( Rasterize/rasteriztion)官方翻译成栅格化或者像素化。没错,就是把矢...

  • OpenGL的认识

    3D的术语 光栅化:实际绘制或填充每个顶点之间的像素形成的线程 着色:沿着顶点之间改变颜色值,能够轻松创建光照照射...

  • OpenGL 入门

    走向3D 2D + 透视 = 3D 3D术语 (入门级) 光栅化:实际绘制或填充每个顶点之间像素的形成线程 着色:...

  • OpenGL(一) OpenGL入门

    1.概念 2D+透视 = 3D 3D术语: 光栅化:实际绘制或填充每个顶点之间的像素形成过程 着色:沿着顶点之间改...

网友评论

      本文标题:光栅化阶段:三角形设置、三角形遍历、像素着色、合并

      本文链接:https://www.haomeiwen.com/subject/lnsenctx.html