Unity中坐标空间的转换:

Unity的渲染流程:

渲染到设备屏幕的每一帧画面都要经历如下几个阶段:

应用程序阶段(CPU):将材质和模型数据发送给GPU

几何阶段(GPU):进行顶点变换计算

光栅化(GPU):将三角形转化为片元,并对片元着色。

Cpu:准备需要渲染的对象。

  1. 把可视的对象,进行遮挡剔除和视椎体剔除,并将渲染对象排序。
  2. 设置渲染对象的渲染状态,包括材质,模型,着色器
  3. 发送drawcall

会为每一个渲染兑现的每一个材质生成一个渲染批次batch,(合批就是将多个材质合成一个批次)

setPass Call是在渲染状态发生改变时才会被调用,和drawcall相伴产生。在某些特定情况也不一定对等,如一个batch中用到了多个pass,不同的pass,cpu将发送新的setpass call和drawcall。而在静态批处理中,由于顶点限制而不能再同一批次处理而被分割的紧邻的多个批次,因为使用的是相同的渲染设置,所以只产生一个set pass call

Setpass call 是告诉gpu接下来要用到哪些资源,需抓经准备。执行时,会向显存中传入大量的资源信息,包括纹理。

Drawcall 是要求gpu根据顶点数据进行绘制

Fbx(里面包含了uv,顶点位置,法线,切线等信息)加载到内存中,通过mesh render 渲染出来

Skindned mesh render : 带蒙皮的骨骼,把物体的顶点,法线,切线等信息传个gpu渲染出来。

Mesh filter:将模型信息传递给gpu

Mesh render :将顶点等渲染信息传递给GPU

Skinned mesh render 和 mesh render 的区别就是,前者用于有蒙皮动画的mesh, 后者用于静态的mesh。

Gpu:

渲染管线: 顶点着色器、光栅化、片段着色器(alpha测试、模板测试、深度测试、blend、gbuffer、brondbuffer,framebuffer)、显示器

顶点着色器:1.计算顶点的颜色;2. 将物体坐标系转换到相机坐标系;

每个顶点执行一次顶点着色器,在此阶段可以进行透视投影,顶点光照,纹理计算,蒙皮。也可以修改顶点位置生成程序式动画,例如模拟风吹草动,碧波荡漾。

光栅化:将顶点转换成像素,一一对应

片段着色器:将顶点围起来的像素着色(运行次数远大于顶点着色器,尽量将运算放在顶点着色器中。例如:quad中四个顶点坐标为((0,0)(0,100)(100,100)(100,0))顶点着色器执行4次,片段着色器执行10000次)

片段着色器中处理的事情:逐片元操作

  1. 纹理采样 即给Quad赋予贴图或材质球,把纹理像素付给原来的像素,把原来的像素覆盖掉了
  2. 像素跟灯光进行计算,
    1. alpha测试:挑选合格的alpha像素显示。(RGBA)
    2. 模版测试:  像素还可以携带 模板信息 达到条件的模板值会显示出来
    3. 深度测试:符合条件的(一般是像素距离相机的距离)像素 就通过,不然就丢弃
    4. 以上三个测试 决定像素能否被显示出来,挑选合格的像素
  3. Blend:将当前 要 渲染的像素 和 已经渲染出来的像素混合运算
    1. GBuffer :一个像素 存的(RGBA 模板值  深度值 )等信息,只要是审核通过了以后,Gbuffer做的中转把这些信息传给FrontBufferBuffer其实是缓存区)Float[720*1280*4]数组存的信息比较多
    2. Front Buffer:由Gbuffer往Front Buffer写完以后,Front Buffer推向显示器显示过程中,Front Buffer,此时变成了framebuffer,由Gbuffer往Front Buffer写完以后,FrameBuffer会交换到后面去变成Front Buffer(Float[720*1280])缓存区
    3. FrameBuffer:Float[720*1280]缓存区
    4. 其实 Front Buffer和FrameBuffer在交替显示,一帧帧的看着好像在动一样,所以两个是相对的

Unity的渲染流程相关推荐

  1. Unity渲染流程概述

    本篇的任务是回答:在Untiy的渲染流程中CPU和GPU分别做了什么. 渲染到设备屏幕显示的每一帧的画面,都经历几个阶段的加工过程: 应用程序阶段(CPU):识别出潜在可视的网格实例,并把他们及其材质 ...

  2. Unity渲染流程(渲染管线)(渲染流水线)

    Unity渲染流程(渲染管线)(渲染流水线) 一 渲染的任务 二 三个概念阶段 三 应用阶段 1 准备好需要被渲染的场景数据,做粗粒度剔除 2 设置每个对象的渲染状态. 3 发送DrawCall. 四 ...

  3. 【逆向】UE4 渲染流程分析

    UE4作为当今商业引擎界的大佬,渲染和图形质量一直是首屈一指的水准,但是相对于unity来说UE4基本上是一套完整方案提供,不通过源码修改对渲染进行定制的可能性比较小,而且同时UE4这方面的文档很少, ...

  4. 不同几种剔除(Culling)在渲染流程中的使用总结

    前提 最近在阅读<Real-Time Rendering>Third Edition时,发现对于渲染管线中不同剔除部分的具体含义和生效阶段不甚明了,遂做了一点研究,在这里做一个记录. 涉及 ...

  5. 泛泛而谈的菜鸟学习记录(一)—— GPU渲染流程

    GPU渲染流程大概整理 主要是unity方面的 1.mesh render把CPU处理好的顶点信息传给GPU处理. 2.shader中自带的顶点着色器可以对这些顶点的法线.纹理坐标和位置等信息进行处理 ...

  6. Unity管线渲染中的三大测试之模板测试

    我感觉将近一个月没有写技术文档了,最近了可能能在研究一些比较抽象计算机图形学,知识点太多,也过于零碎.我个人认为管线渲染流程当中三大测试是控制效果的一个关卡.这篇文章今天本来写了个开头,回到家看了题目 ...

  7. Unity引擎渲染模块知识Tree

    渲染效果是游戏表现力的核心卖点之一.尤其近几年随着引擎技术的革命翻新,硬件技术的突飞猛进,以及玩家愈发挑剔的要求,游戏的表现力正在进入到崭新的层面.有哪些主流的Shader.自阴影.后处理技术?如何加 ...

  8. 庄懂老师TA学习笔记 - 渲染流程

    视频链接 庄懂的技术美术入门课(美术向)-直播录屏-第1课_哔哩哔哩_bilibili 首先我们用一张图来看一下基础的渲染流程 第一步:读取模型的结构 大家都知道,在建模软件中,我们是通过创建一个一个 ...

  9. react16 渲染流程

    前言 react升级到16之后,架构发生了比较大的变化,现在不看,以后怕是看不懂了,react源码看起来也很麻烦,也有很多不理解的地方. 大体看了一下渲染过程. react16架构的变化 react ...

最新文章

  1. 2021-07-29 labelme注释、分类和Json文件转化(转化成彩图mask)
  2. Python 存储字符串时是如何节省空间的?
  3. 学习go语言国内最全资料链接
  4. 深入浅出BI——搭建环境
  5. html调用接口_Spring 自调用事务失效,你是怎么解决的?
  6. 【英语学习】【WOTD】borne 释义/词源/示例
  7. SAP License:关联方跨公司交易的自动清帐与实现
  8. php求平均值的函数_最全计算机二级函数关键知识点汇总整理!
  9. python和c语言的区别-python和c语言的区别是什么
  10. 计算机数据网络说课稿,2017年教师考试备考:中学计算机说课稿《工作表中的数据管理》...
  11. 如何征服“支付”这个磨人的小妖精
  12. 地震数据的获取与处理
  13. win10在哪里找到计算机,win10计算器在哪里?win10怎么调出计算器?
  14. 鹏业安装算量软件合并计算项目操作
  15. 最难忘的一节计算机课,最难忘的一节课作文(3篇)
  16. 分享一个Github逆天级别的彩蛋
  17. 【云原生】SpringCloud系列之服务调用OpenFeign(日志配置、异常解码器、更改负载均衡策略、替换默认通信组件等)
  18. Simulink 3D Animation的使用(V_realm builder2.0)
  19. Pairwise(FCC算法)
  20. oracle 生僻字 转码,Oracle 生僻字乱码解决方案

热门文章

  1. 双非本科字节跳动Android面试题分享,吐血整理
  2. 《Android状态栏微技巧,带你真正理解沉浸式模式(转载)》
  3. JS 常见面试题 - 事件循环机制
  4. Xftp:No matching outgoing encryption algorithm found问题
  5. mysql视图怎么加字段_mysql视图添加字段
  6. Android开发-WebView/WebViewClient/WebChromeClient简介 API详述 【一】
  7. intel realsense 深度视野范围与模组硬件说明
  8. SQL Server 存储过程 迪杰斯特拉算法 大规模 表格存储 不是矩阵
  9. 信号分选c语言,一种信号精确分选方法与流程
  10. JQuery获取元素的方法总结