InstantOC

  • 渲染管线
  • –顶点处理
  • –图元装配
  • –光栅化
  • –像素处理
  • –缓存
  • Occlusion Culling
  • –即时遮挡剔除
  • –步骤
  • –属性
  • LOD
  • –多细节层次
  • –步骤
  • –属性

渲染管线

  • 图形数据在GPU上经过运算处理,最后输出到屏幕的过程

    游戏->图形API->CPU与GPU 分界线->顶点处理->图元装配->光栅化->像素处理->缓存

顶点处理

  • 接收模型顶点数据
  • 坐标系转换

图元装配

  • 组装面:连接相邻的顶点,绘制为三角面

光栅化

  • 计算三角面上的像素,并为后面着色阶段提供合理的插值参数

像素处理

  • 对每个像素区域进行着色
  • 写入到缓存中

缓存

  • 一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存
  • 帧缓存:存储每个像素的色彩,即渲染后的图像。帧缓存常常在显存中,显卡不断读取并输出到屏幕中
  • 深度缓存 z-buffer:存储像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存

Occlusion Culling

即时遮挡剔除

  • 即时遮挡剔除 Instant Occlusion Culling
  • 遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能

步骤

  1. 创建层
  2. 为游戏物体指定层(将参与遮挡剔除)与标签(将自动附加IOClod脚本)
  3. 物体添加碰撞器Collider组件
  4. 摄像机附加脚本IOCcam

属性

  • Layer mask:参与遮挡剔除的游戏对象层

  • IOC Tag:将为指定标签的游戏对象自动添加IOClod脚本对象

  • Samples:每帧摄像机发射的射线数目,数量多剔除效果好,但性能开销大。通常在150-500之间

  • Rays FOV:射线视野,应大于摄像机视野Field of View

  • View Distance:视图距离,射线长度。

    ​ 将影响摄像机Clipping Planes -Far 数值

  • Hide Delay :延迟隐藏,当物体被剔除时延迟的帧数,建议50-100之间

属性(续1)

  • PreCull Check:检查采集信息,建议勾选,可以提高剔除效率
  • Realtime Shadows:实时阴影,如果场景需要实时阴影,建议启用,确保剔除物体显示正常的阴影