Unity Shader渲染管线概要笔记

一.渲染管线概述

        1.概念:将数据分阶段变为屏幕图像的过程。

        2.渲染管线中的数据(游戏场景的数据):

                1)顶点数据:模型顶点坐标,法线向量等。

                2)纹理数据:纹理贴图等。

                3)光照数据:光照参数,光源信息等。

        3.渲染管线阶段划分:应用阶段 > 几何阶段 > 光栅化阶段

二.应用阶段

        1.CPU与GPU:CPU负责游戏逻辑处理;GPU负责渲染相关处理

        2.作用:准备后续阶段所需的数据(CPU)

        3.具体操作:

                1)遮挡物体剔除

                2)准备模型相关数据(顶点,法线,贴图等)

                3)将数据加载到显存中

                4)设置渲染状态(设置网格需要的Shader,材质等)

                5)调用Drawcall

        4.Drawcall

                1)概念:CPU命令GPU渲染的一次指令

                2)性能瓶颈:CPU会花费大量时间提交Drawcall,造成CPU过载。

                3)解决方式:批处理(合并网格【将静态物体合并网格】,共用材质【不同材质共用一种材质】,合并图集【2D与UI中将多张图合并为一张】)

三.几何阶段

        1.图元:几何数据的基本单元(顶点组成的点,线,三角形)。

        2.工作流程:顶点着色器 > 曲面细分着色器 > 几何着色器 > 裁剪 > 屏幕映射

        3.顶点着色器:坐标变换,顶点属性处理(颜色,切线向量等),顶点插值等。

        4.裁剪:裁剪画面外的图元。

        5.屏幕映射:三维空间映射到屏幕二维坐标系中。

四.光栅化阶段

        1.像素:二维图像中的一个点,每个像素占据屏幕固定位置。

        2.片元(像素+信息):光栅化阶段生成的像素,每个片元代表一个像素,并具有位置信息与相关属性(颜色,深度值等)。

        3.工作流程:三角形设置 > 三角形遍历 > 片元着色器 > 逐片元操作

        4.三角形设置:计算三角形网格(根据顶点信息,生成三角形边界信息)的数据

        5.三角形遍历:如果像素被三角形网格覆盖,则生成片元,最终得到被覆盖的片元序列。

        

        6.片元着色器:光照计算,纹理映射(色彩纹理映射到片元),材质属性处理(计算片元最终颜色与透明度),阴影计算。

        7.逐片元操作:对片元着色器输出数据进行处理与计算(决定可见性与颜色混合)

五.总结

        1.应用阶段提供顶点数据。

        2.几何阶段进行顶点坐标转换与图元裁剪。

        3.对片元进行最终处理,完成是否渲染片元到屏幕上与最终渲染颜色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海海不瞌睡(捏捏王子)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值