计算机图形学渲染管线

渲染管线的基本认识:

是什么:
实时渲染的核心组件。
功能:
1、将物体3D坐标转变为屏幕2D坐标。
2、为屏幕的每个像素点进行着色。
流程:
顶点数据的输入——>顶点着色器——>曲面细分过程——>几何着色器——>图元组装——>裁剪剔除——>光栅化——>片段着色器——>混合测试。
或者为:
应用阶段——>几何阶段——>光栅化阶段——>像素处理阶段
两中划分方法不一样,但是具体功能是差不多的,原理是一样的。

渲染管线的流程:

顶点数据:
作用:为后面阶段提供处理的数据。
具体内容:送入到渲染管线的的数据包括顶点坐标,纹理坐标,顶点法线、顶点颜色等顶点属性和相对应的图元信息。
常见的图元信息有:点,线,线条,面。
顶点着色器:
作用:进行坐标转换(虽然在这个阶段也会进行光照计算再光栅化着色,但是不够自然。所以一般再片段着色进行光照计算),输入单个顶点或属性,输出变换后的顶点。
具体内容:局部坐标——>世界坐标——>观察坐标——>裁剪坐标。
曲面细分(可选):
作用:增加物体表面三角形的数量。
几何着色器(可选):
作用:顶点或线扩展成一个多边形。输入一个完整的图元,输出一个或多个其他图元。
图元组装:
作用:
1、输入的顶点组装成指点的图元。
2、进行裁剪和背面剔除相关优化。
3、屏幕映射:透视除法,视口变化(这个在哪个阶段有争议)。
光栅化(现在是在窗口坐标):
作用:确定图元所覆盖的片段,利用顶点属性值得到片段的属性信息,然后送到片段着色器进行颜色计算。(这里的片段是像素的前身,但不是像素,要经过测试后才是像素)。
具体内容:光栅化是一个离散化的过程。包括三角形组装和三角形遍历。
片段着色器:
作用:决定屏幕上片段的最终颜色。
具体内容:进行光照计算以及阴影处理。
测试混合阶段:
具体内容:裁切测试,Alpha测试,模板测试和深度测试。经过测试的将进入混合阶段,没有经过测试的会被丢弃。

另一个划分方法:
应用阶段(由CPU负责):
计算该计算的内容,将计算好的数据(顶点坐标,法向量,纹理坐标,纹理等)传给下一个阶段。
主要任务:
1、准备好场景的数据。(例如相机位置,场景中的模型,光源等等)
2、进行粗粒度的剔除,从而提高性能。(例如将场景中不可见的物体剔除出去,这样这些物体就不需要再移交到下一阶段)
3、设置好每个模型的渲染状态。(渲染状态包括但不限于材质纹理等)
几何阶段又称为变换和光照阶段(由GPU负责):
用于处理所以和我们需要绘制的几何相关的工作。
主要任务:
1、坐标变换,将顶点坐标变化到屏幕空间中。
2、光照计算。将坐标计算结果再交给光栅器处理,这个阶段注重计算而非上色。
光栅化阶段(由GPU负责):
使用上个阶段传递的数据来产生屏幕上的像素,并渲染出最终的图像。
主要任务:
1、计算每个图元覆盖了哪些像素
2、为这些像素计算他们的颜色。
像素处理阶段:
主要任务:
1、像素着色
2、测试混合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值