1、CPU和GPU之间的通信将数据加载到显存中,设置渲染状态并调用Draw Call
将数据加载到显存中
硬盘 --> RAM --> 显存
资源:
设置渲染状态
定义用于场景中的网格的顶点(片段)着色器、照明属性、材质等。
资源:
调用绘制调用
CPU 向 GPU 发送的渲染命令
图片来源:2.几何渲染阶段顶点着色器图元组装几何着色器裁剪和屏幕映射
顶点着色器
单个顶点作为输入允许我们对顶点属性进行一些基本操作。其主要目的是将 3D 坐标转换为另一个 3D 坐标。
元件组装
将顶点着色器输出的所有顶点作为输入,将所有点组装成指定图元的形状。
几何着色器
几何着色器将一组图元形式的顶点作为输入(输入是图元),并且它可以通过生成新的顶点来构造新的(或其他)图元来生成其他形状。
裁剪和屏幕映射
裁剪掉不在相机视野中的顶点unity 顶点着色器,并剔除一些三角形图元的补丁(可以设置)。然后将每个图元的坐标转换为屏幕坐标系。
资源:
图片来源:3.光栅化阶段三角形设置和遍历片段着色器测试和混合
三角形设置和遍历
在三角形设置阶段,需要根据输入的三角形网格顶点计算三角形每条边上的像素坐标。三角形遍历阶段根据三角形顶点对三角形覆盖的像素进行插值。
资源:
片段着色器
主要目的是计算一个像素的最终颜色。
资源:
测试和混合
这个阶段检测片段对应的深度(和模板)值,使用它们来确定像素是在其他物体的前面还是后面3D动画,并决定是否应该丢弃它。此阶段还检查 alpha 值(alpha 值定义对象的透明度)并混合对象。因此,即使在片段着色器中计算了一个像素的输出颜色橙光游戏,在渲染多个三角形时,最终的像素颜色也可能完全不同。
资源:
资料来源:4. 其他
我的知识和知识很少。如有误会unity 顶点着色器,敬请期待雅正。
插图引自:随书《Unity Shader入门精要》彩图(侵删)