Rendering Path

Rendering Path:渲染路径
  设置:1、Player Setting,2、Camera(会覆盖PlayerSetting中的设置)
  选择:根据渲染内容和目标平台来选择合适的Rendering Path,当一个GPU不能处理Deferred Lighting时,会自动切换到Forward Lighting,当Forward Lighting不支持时,会自动切换到Vertexx Lig。
(1)Vertex Lit:
  最低真实度但也是最快的的渲染路径,不支持realtime shadows,建议用在旧机器或一些移动平台上。
  所有lighting都基于顶点计算光照在一个pass里完成,不支持所有的基于pixel计算的效果,比如:shadows、normal mapping、light cookies、highly detailed specular highlights。
(2)Forward Rendering:
  支持一盏方向光的实时阴影。
  最亮的几盏(QualitySetting)光源按像素计算,然后,最多4盏点光源按照逐顶点计算,剩下的都按照SH计算,具体的影响因素:
  (1)Light.RenderMode = Not Important的光源:按照per-vertex或者SH计算;
  (2)最亮(Light.intensity和距离)的directional light:总是per-pixel;
  (3)Light.RenderMode = Important的光源:总是per-pixel计算;
  (4)QualitySetting.PixelLightCount指定了pixel光照的数量,如果基于上述3个规则所产生的pixel light小于此数量,则会有更多的light按照per-pixel计算,以此来降低亮度。
  SH光照:基于vertex计算,但比vertex light要快,它只是一个近似的计算;
      有一点CPU开销,几乎没有GPU开销,很多个SH light和一个SH light的开销完全一样;
      SH lighting非常低频率,所以不要对SH light做太快的transform,SH light只影响diffuse lighting,由于太慢而不支持specular light。
(3)Deferred Lighting:
  提供最好的光影效果。
  原理:第一步准备N个与屏幕同大小的纹理作为渲染缓冲区,接下来向这个纹理渲染东西,一般用FBO,渲染的时候,把每个象素最终的法线值、位置、纹理信息分别渲染到这N个纹理中。
  第二步进行光照/渲染计算,将把之前得到的纹理中的值作为光照计算的输入值来计算光照。
  优点:计算光照的计算量与场景复杂程度完全无关,只与第一次渲染的像素数量和第二次渲染的光源数量成正比。这样,就可以在有限的硬件资源里使用大量的光源,避免多次(超过1次)渲染同一个像素。
  缺点:1、无法使用基于硬件的抗锯齿,因为每个象素都独立计算;
     2、同时渲染多个纹理,显存压力很大;
     3、没法处理半透明,半透明物体只能提出来单独渲染依次。

时间: 2024-08-10 04:09:08

Rendering Path的相关文章

Unity5 的新旧延迟渲染Deferred Lighting Rendering Path

unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来. Legacy Deferred Lighting Rendering Path(light prepass) 老 旧的Deferred Rendering Path,使用了light prepass渲染.因为它是老旧的(unity5之前的Deferred Lighting,但是unity5还留着

前向渲染路径细节 Forward Rendering Path Details

正向渲染路径细节 Forward Rendering Path Details Forward Rendering path renders each object in one or more passes, depending on lights that affect the object. Lights themselves are also treated differently by Forward Rendering, depending on their settings and

shader 3 rendering path

渲染通道, rendering path. vertexlit, forward 和 Deferred lighting 旧有的非统一架构下: 分为顶点着色引擎和像素渲染通道 渲染通道是GPU负责给图像配色的专门通道: 越多,填充效率越高,流畅性越好. http://wenwen.sogou.com/z/q103129905.htm 採用统一架构后, 渲染通道既负责顶点渲染又负责像素渲染. GPU对于图像渲染时的逻辑并行运算数. 而不是物理数量. http://blog.csdn.net/bug

Forward Render VS Deferred Rendering

Forward Render 传统的渲染方式,你提供给显卡形状Mesh,它将其打散成一堆节点,接着经过一系列的变换和分割成为Fregment或者像素,在呈现在屏幕之前已经完成了所有的渲染处理. 这是相当线性的,每一个形状都会在生成完整图像之前经过流水线的每一个阶段. Deferred Rendering 中文称为延迟渲染,渲染的工作被放在最后,直到所有的形状到都完成了前面的工作,一旦所有需要的缓冲建好,就直接被读进一种着色算法中,合并在一起从而得出最后的结果. 这样,着色一个场景所需的计算和内存

Unity3D光照前置知识——Rendering Paths(渲染路径)及LightMode(光照模式)译解

简述 Unity supports different Rendering Paths. You should choose which one you use depending on your game content and target platform / hardware. Different rendering paths have different performance characteristics that mostly affect Lights and Shadows

160830、如何运用最新的技术提升网页速度和性能

最近更新了我们的网站,它是经过了设计上的全面验收的.但实际上,作为软件开发者,我们会注重很多技术相关的零碎的东西.我们的目标是控制性能,注重性能,未来可伸展,为网站增添内容是一种乐趣.接着就来告诉你,为什么我们的网站速度比你们的快吧(抱歉,确实是这样的). 性能设计 在我们的项目中,我们每天都会和设计师和产品负责人讨论关于平衡美观和性能的问题.对于我们自己的网站,这样做是很简单的.简言之,我们认为好的用户体验从快速的内容传输开始,也就意味着 性能 > 美观. 好的内容.布局.图片和交互是吸引用户

浏览器的渲染机制

Google Web Fundamentals 是一个非常优秀的文档,里面讲到了跟web.浏览器.前端的方方面面.我总结一下其中的 Ilya Grigorik 写的 Critical rendering path 浏览器渲染机制部分的内容如下: 几个概念 1.DOM:Document Object Model,浏览器将HTML解析成树形的数据结构,简称DOM. 2.CSSOM:CSS Object Model,浏览器将CSS代码解析成树形的数据结构. 3.DOM 和 CSSOM 都是以 Byte

【浅墨Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)——自定义光照模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/plus/view.php?aid=183 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] QQ交流群:330595914 更多文章尽在:http://www.hpw123.net 本文主要讲解了Unity中SurfaceShader的自定义光照模式的写法. 上篇文章中我们已经说到,表面着色器将分为两次讲解,上

【Unity Shaders】Shader中的光照

写在前面 自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已.当然,我相信这是因为我们写得少...不过这也是由于官方文档对这方面介绍很少的缘故,导致我们无法自如地处理很多常见的光照变量.这篇我们就来讨论下Unity内置的一些光照变量和函数到底怎么用. 以下内容均建立在Forward Rendering Path的基础上. 自己总结的,如果有硬伤一定要告诉我啊!感激不尽~ 主要参考: http://en.wikibooks.org/wiki/Cg_P