Unity渲染原理

工作顺序

CPU决定哪些需要渲染,GPU去做渲染工作

Draw Call:绘制调用,每次引擎准备数据并通知GPU,每帧调用显卡渲染物体的次数。

渲染到设备屏幕显示的每一帧的画面,都经历几个阶段的加工过程:

应用程序阶段(CPU):识别出潜在可视的网络实例,并把它们及其他材质提交给GPU以供渲染

几何阶段(GPU):进行顶i点变换等计算,并将三角形转换到齐次空间并进行裁剪。

光栅化阶段(GPU):把三角形转为片元,并对片元执行着色。片元经过多种测试(alpha测试,

                     模板测试,深度测试,等)之后,最终与帧缓冲混合。

mvp矩阵转换

对于MVP矩阵变换以及其推导过程浅析 - 知乎

CPU工作流程

1.准备好需要被渲染的对象。也就是哪些物体需要被渲染,哪些物体需要被剔除(culled),剔除的常用方式包括视锥体剔除和遮挡剔除,并对需要渲染的对象进行排序。

2.设置每个对象的渲染状态。渲染状态包括所使用的着色器、光源、材质等。

3、发送DrawCall。当给定- -个DrawCall时,GPU会根据渲染状态和输入的顶点数据进行计算。

缓存

一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存

帧缓存:存储每个像素的色彩,即渲染后的图像。帧缓存常常再显存中,显卡不断读取并输出到屏幕中。

深度缓存z_buffer:存储像素的深度信息,即物体到摄像机的距离。光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存

Mesh 网格

MeshFilter 网格过滤器

MeshRenderer 网格渲染器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值