zoukankan      html  css  js  c++  java
  • Unity3D(五)渲染管线

    渲染管线

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

    • DrawCall:一帧调用显卡渲染物体的次数

    顶点处理

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

    图元装配

    组装面,连接相连的顶点,绘制三角面

    光栅化

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

    像素处理

    对每个像素区域进行着色
    写入到(显卡)缓存中

    缓存:

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

    帧缓存

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

    深度缓存Z-buffer

    存储像素的深度信息,即物体到摄像机的距离,光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写道帧缓存,并替换深度缓存。近的被保存,远的被遮挡就不显示了

    优化

    性能优化主要三方面

    • CPU Usage CPU的使用。
    • Render 渲染
    • Memory 内存

    Occlusion Culling即时遮挡剔除

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

    使用插件Instantoc实现遮挡剔除

    • 原理:随机发射射线碰到了说明不被遮挡
    • 缺点:增加CPU性能
    • 适用场景:场景中物体较为密集

    多细节层次(LOD Levels of Detail)

    根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配(选择高低中模型),降低非重要物体的面数和细节度。从而获得高效率的渲染运算

  • 相关阅读:
    数据结构(一)线性表单链表试题
    虚拟研讨会:如何设计好的RESTful API?
    如何生成RestFul Api文档
    webstorm 10 设置文件的默认编码
    HAML学习
    Nodejs初阶之express
    RESTful API 简书
    解读Nodejs多核处理模块cluster
    Nginx做NodeJS应用负载均衡配置实例
    拿nodejs快速搭建简单Oauth认证和restful API server攻略
  • 原文地址:https://www.cnblogs.com/code-fun/p/13924413.html
Copyright © 2011-2022 走看看