渲染通道, rendering path。 vertexlit, forward 和 Deferred lighting

旧有的非统一架构下: 分为顶点着色引擎和像素渲染通道

渲染通道是GPU负责给图像配色的专门通道; 越多,填充效率越高,流畅性越好。

http://wenwen.sogou.com/z/q103129905.htm

採用统一架构后, 渲染通道既负责顶点渲染又负责像素渲染。

GPU对于图像渲染时的逻辑并行运算数。

而不是物理数量。

http://blog.csdn.net/bugrunner/article/details/7436600

http://blog.csdn.net/xuehuic/article/details/8701341

from   http://unity3d.9ria.com/?p=563

怎样设置渲染通道:在Edit -> Project Setting -> Player中Inspector面板以下,三种公布类型里都有一个渲染通道的设置。

另外,每一个摄像机的Inspector面板中,也都有一个渲染通道Rendering Path的设置。

6.渲染通道与shader的关系。

Deferred Lighting通道类型不关心有多少个光源会影响它,每一个物体一般都会绘制两次。相似地。Vertex Lit 仅仅绘制一次。所以对于这两种类型来说,shader对表现效果的改变大多在于多重纹理方面。

Forward 通道类型的表现效果要取决于shader和场景中的光源。它有两种主要的计算方式Vertex-Lit 和 Pixel-Lit。能够翻译为逐顶点渲染法和逐像素渲染法吧应该,相应着D3D中的顶点着色和像素着色过程。

Vertex-Lit 用于对网格模型表面顶点进行光照计算。一次性将全部光源的影响都计算在内,所以不管场景中有多少个光源,这样的方式绘制的物体仅仅绘制一次。

Pixel-Lit 会计算每一个像素上面终于的光照,因此一个物体必须先呗绘制一次来获得环境光和主方向光的光照信息,再绘制一次来获得其它每一个额外的光源信息。应用Pixel-Lit的物体的大小也会影响绘制的效率。越大的物体,绘制越慢。

Vertex-Lit 的开销大于Pixel-Lit,可是Pixel-Lit能够提供非常多非常好的效果。

7.Unity3D中的shader是通过改变那些直接影响游戏对象的材质来使用的。

综上看, 手机游戏应该是forward通道:vertex+fragment  /  surface。  正向渲染。

最亮的几个光源使用像素光照。 最多4个点光源以住店渲染方式被计算, 其它以球面调和。

http://game.ceeger.com/Components/RenderTech-ForwardRendering.html

顶点照明渲染, vertex lit rendering path ;  与 vertex shader不一样。不同层次的概念。

forward/vertex lit渲染通道 都可能会使用vertex shader + frament shader

Unity会运行一个pass最先匹配上的; 优先选择light model最匹配的, 没有则选择次匹配的。 如。 假设相机为Deferred rendering path, subshader中无Deferred, 则使用forward。否则使用Vertex lit.; 以及会运行未指定light model的pass

shader 3 rendering path的更多相关文章

  1. Unity 的“Vertex Lit Rendering path“中 shader Pass 的注意事项

    "MADFINGER/Environment/Unlit (Supports Lightmap)"是 ShadowGun 示例中最简单的 shader 了,如下: // Unlit ...

  2. Unity shader学习之Forward Rendering Path

    Forward rendering path shader如下: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObje ...

  3. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

  4. Thinking in Unity3D:渲染管线中的Rendering Path

      关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的 ...

  5. Rendering Path

    Rendering Path:渲染路径 设置:1.Player Setting,2.Camera(会覆盖PlayerSetting中的设置) 选择:根据渲染内容和目标平台来选择合适的Rendering ...

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

    unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来 ...

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

    正向渲染路径细节 Forward Rendering Path Details Forward Rendering path renders each object in one or more pa ...

  8. 渲染路径-Unity5 的新旧推迟渲染Deferred Lighting Rendering Path

    Unity5 的新旧延迟渲染Deferred Lighting Rendering Path unity5 的render path ,比4的区别就是使用的新的deferred rendering,之 ...

  9. 正向渲染路径细节 Forward Rendering Path Details

    http://www.ceeger.com/Components/RenderTech-ForwardRendering.html This page describes details of For ...

随机推荐

  1. Transport Tablespace Set(三) ----transport single tablespace

    源端字符集与endian查看: SQL> select userenv('language') from dual; USERENV('LANGUAGE') SIMPLIFIED CHINESE ...

  2. Java编程思想(四) —— 复用类

    看了老罗罗升阳的专訪,不由自主地佩服,非常年轻,我之前以为和罗永浩一个级别的年龄.也是见过的不是初高中编程的一位大牛之中的一个,专訪之后.发现老罗也是一步一个脚印的人. 别说什么难做,做不了.你根本就 ...

  3. 62.C++文件操作list实现内存检索,实现两千万数据秒查

    1 #include <iostream> #include <fstream> #include <cstdlib> #include <string> ...

  4. Lucene 定义

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  5. seq---生成随机数

    seq命令用于产生从某个数到另外一个数之间的所有整数. 语法 seq [选项]... 尾数 seq [选项]... 首数 尾数 seq [选项]... 首数 增量 尾数 选项 -f, --format ...

  6. Python实现简单的HTTP服务器(支持文件下载)

    python内置模块 SimpleHTTPServer  (支持下载功能) 在对应的工作目录下,运行命令python -m SimpleHTTPServer 即可把当前目录下以共享服务的形式共享出去. ...

  7. 【开卷故意】JAVA正則表達式模版

    专业既然是机器学习.那工作肯定也是继续和数据打交道,那么问题来了,非常多时候推荐算法和数据挖掘算法都是现成可用的,平台初建,重点还在数据过滤和抽取.如何高效的抽取数据? 利用往常算法比赛中经常使用的字 ...

  8. theme- 自定义控件属性

    今天想要在一个控件中增加自己的一条属性,具体步骤如下 1.在frameworks/base/core/res/res/values/attr中注册属性 因为我们希望增加的属性是在AutoComplet ...

  9. thinkphp最简单路由

    thinkphp最简单路由 一.总结 1.路由应用场景(前台要,后台不要):前台所有人都可以看,所以前台的话设置路由,后台的话并不是所有人都进去,所以不需要设置路由 2.模块分离来实现路由场景应用:前 ...

  10. java初始化过程中成员变量

    package day01; class Base{ int j; //1.j=0 Base(){ add(1); //2.调用子类add()方法 System.out.println(j); //4 ...