TA基础知识总结 unity 渲染管线

用户头像
武汉/学生/5年前/276浏览
TA基础知识总结 unity 渲染管线
用户头像
穆小柏

复习渲染管线 ,加深理解。顺便发一下QWQ

一.   unity渲染管线分为   cpu端渲染管线(逻辑)  和 gpu端渲染管线

  • cpu端: 调用Render()方法

  • 进行剔除:视锥体剔除,遮挡剔除,层级等规则

  • 渲染顺序:按照距离,渲染队列等规则排序

  • (最主要是不透明队列2500一下 ,从前到后排序)

  • (半透明队列,大于2500,从后到前排序)

  • 打包摄像机数据,模型数据,参数等信息

  • 调用drawcall  通知cpu开始渲染

GPU端:

gpu渲染管线 —— 输出到帧缓冲区 —— 输出到后处理(拿到图像在运用shader进行后处理)—— 输出到渲染目标

其中gpu渲染管线为可操作的配置管线:

  • 顶点着色器——图元装配及光栅化——偏远处理——输出合并——最终输出到帧缓冲区

  • 顶点着色器: 主要任务是通过MVP矩阵将模型数据从模型空间转换到裁剪空间(经过处理后,摄像机的锥体被转换为CVV的2X2X1的立方体空间)

  • (顶点着色器不会产生2D图像,但会对场景中的物体产生变形)

  • 模型空间(dot)Model Matrix —— 世界空间(dot)View Matrix —— 摄像机空间 (dot) Projection Martix —— 裁剪空间

  • 硬件自动进行 视口变换 转换为屏幕空间

  • 硬件得到裁剪空间[(w,w,0)(-w,-w,w)] 数据后进行  裁剪操作(不同于cpu端的裁剪操作,将视锥体外的三角面的多余部分裁剪,并沿着视锥体边缘生成新的顶点)

  • 进行     透视除法 ( 将矩阵/w进行归一化)   转换为标准化的设备坐标(NDC坐标系)


  • 再 根据矩阵中顶点数据进行背面剔除

  • 三角面由三个顶点组成,电脑将其储存后使用索引列表来进行查找,每一个三角面的顶点是按照顺序排序的。如三角面的顶点为顺时针分布则为背面,逆时针为背面

  • 将背面剔除


  • 进行视口变换,将数据转换到屏幕坐标上,再对其进行逐片元操作(对三个临近点进行图元装配)

  • 最后将装配好的图元进行光栅化

  • 光栅化:根据三个顶点的数据对三角面内进行插值生成图元(伪像素)

  • 将光栅化后的图元传入片元着色器

  • 片元着色器:

  • 计算直接光+间接光颜色

  • 使用基础  lambet+blinphong模型

  • 基本思路:直接光漫反射+直接光镜面反射+间接光漫反射+间接光镜面反射+(其他效果:ssr镜面反射,sss次表面散射材质效果,各向异性高光等)

Final  输出合并阶段

输出合并阶段主要任务:处理遮挡关系,半透明混合

  • 输出合并阶段 : 获得片元数据 (color,alpha,depth)——进行透明度测试(alpha值低于某值剔除改图元)——进行模板测试(可自行设定)——深度测试(进行深度测试,获得靠前片元使其渲染)——混合(混合两个片元颜色计算)——输出到帧缓冲区

最后输出到后处理 , 也就是用shader来处理摄像机平面内的图像。进行饱和度调整,故障效果shader,类似于ps中的图层调节操作


3
举报
|
收藏
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
三维渲染极简空白室外背景
黑暗房间内的金属方块展台,三维渲染
三维渲染的年轻女医生
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
矢量三维场景彩色质感球体抽象海报
旋转的漩涡和流动的线条,三维渲染
三维抽象矢量星球,寓意全球化、国际化,球形世界地图,点和线连接的矢量背景
三维户型剖面图
三维渲染的流动白色布料透明玻璃背景
红色喜庆风格的三维产品展台
三维假期旅行主题
红色三维概念礼盒背景
三维渲染城市背景
三维渲染红色礼盒
三维渲染极简北欧风现代家居装饰场景
实验室三维场景
三维渲染抽象波浪流金风格背景
三维曲线空间背景
深蓝色三维科技地球,全球化、国际化、科学技术概念抽象图形
矢量抽象三维几何图形创意海报
三维渲染的简约简洁极简风格几何体场景海报
矩阵立方体三维空间科技背景
三维渲染炫彩背景
三维地形图,等高线。抽象的点线科技背景,类似云端数据连接、区块链、神经网络的概念。
三维渲染的老年医生
你可能喜欢
相关收藏夹
大家都在看
登录注册