InstantOC
1、渲染管线
渲染管线:图形数据在GPU上经过运算处理,最后输出到屏幕的过程。
绘制调用Draw Call:每次引擎准备数据并通知GPU的过程。即每帧调用显卡渲染物体的次数。
Draw Call越大,性能越低。。
从CPU到GPU的渲染步骤简介:
I、CPU判断需要渲染的物体,将要显示的物体交给图形API,图形API再转交给GPU。
II、GPU将按顺序执行以下几个步骤
- 顶点处理
接收模型顶点数据(数据来自CPU)
坐标系转换 - 图元装配
组装面:连接相邻的顶点,绘制为三角面。 - 光栅化
计算三角面上的像素,并为后面着色阶段提供合理的插值参数。 - 像素处理
对每个像素区域进行着色
写入到缓存中 - 缓存
一个存储像素数据块的内存块,最重要的缓存是帧缓存与深度缓存。
帧缓存: 存储每个像素的色彩,即渲染后的图像。帧缓存常常在显存中,显卡不断读取并输出到屏幕中。
深度缓存 z-buffer: 存储像素的深度信息,即物体到摄像机的距离。光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存。
2、Occlusion Culling
Instant Occlusion Culling 即时遮挡剔除
遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能。
3、LOD
Levels of Detail多细节层次
LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,从而获得高效率的渲染运算。
(简单来说就是根据物体所处的位置选择渲染的精度)