[Unity Shader笔记]渲染路径--Forward渲染路径

(2014-04-22 20:08:25)

*ForwardBase、ForwardAdd的LightMode只能运行在Came为Forward、DeferredLighting的渲染模式下
*ForwardAdd这个Pass需要和ForwardBase一起使用,否则会被Unity忽视掉
* ForwardBase只对1个有效灯光执行一次
* ForwardAdd对除了ForwardBase用的那个灯光外的所有有效灯光都执行1次,所以会被执行多次
 
LightMode=Forward中的_WorldSpaceLightPos0,_LightColor0
*灯光在ForcePixel模式下才有效
*如果只有一个平行灯光,ForwardAdd中使用不到灯光数据
*ForwardBase的Pass中,灯光需要是方向光
*ForwardAdd优先点光源,
* ForwardAdd优先灯光比较暗的,ForwardBase优先比较亮的 。他们正好相反

LightMode=ForwardBase(只有这一个的情况下)中的unity_4LightPosZ0[3], unity_4LightAtten0[3], unity_LightColor[3], unity_LightColor3
*只对点光源有效

*灯光在ForcePixel,ForceVertex模式下都有效,ForcePixel的优先
*灯光范围必须覆盖目标

*灯光亮度必须大于0
*对灯光强度排序,亮的优先。
 
LightMode=ForwardBase(包含ForwardAdd,Blend Zero One)中的unity_LightColor[3], unity_LightColor3
*只对点灯光有效
*当只有一个点灯光时ForcePixel,ForceVertex都有效
*当有多个点灯光时,如果其中有是ForceVertex的。则只有ForceVertex有效,ForcePixel无效
*当有多个点灯光时,如果都是ForceVertex。则有效
*灯光数据是在世界坐标内
 
LightMode=ForwardAdd(Blend One Zero)中的unity_LightColor[3], unity_LightColor3
*首先需要有两个ForcePixel的方向光或者一个ForcePixel的点光为前提条件
*需要是ForceVertex的点等光才有效
*当开始有几个满足效果,把他们一个一个设置为不满足时unity_LightColor[3]会残留一个未被清理的数据,所以建议使用unity_LightColor3
 
LightMode=ForwardBase(只有这一个的情况下)中的unity_LightPosition[3], unity_LightAtten[3]
*没有数据

LightMode=ForwardAdd(Blend One Zero)中的unity_LightPosition[3], unity_LightAtten[3]
*没有数据
*有其他材质球时unity_LightPosition[3]会看到那些残留数据
 
说明
*灯光强度:会由灯光的color,intensity,离目标的距离等这些因素影响

[Unity Shader笔记]渲染路径--Forward渲染路径的更多相关文章

  1. Unity Shader笔记

    shader “MyShader”{ Properties{ -CubeMap(“Cube Map” , Cube) = ""{这里可以添加图片渲染模式} } SubShader{ ...

  2. Unity Shader 入门精要学习 (冯乐乐 著)

    第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...

  3. Unity Shader 00 - 梳理 Unity Shader 的基本结构

    0x00 写在前面 之前一直在阅读 The Book of Shaders 一书,为什么会开始写 Unity Shader 呢?一方面,因为该书目前尚未完结,写下此文时已阅读到该书的最新章节:另一方面 ...

  4. Unity Shader 知识点总结(二)

    紧接着上一篇文章的shader入门知识的总结,本文主要总结shader中的纹理贴图.透明度混合.顶点动画.后期特效处理等操作.如果有什么地方有错,请指出更正,谢谢.本文的代码主要来自开源书:unity ...

  5. Unity Shader入门精要学习笔记 - 第2章 渲染流水线

    来源作者:candycat   http://blog.csdn.net/candycat1992/article/ 2.1 综述 渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏 ...

  6. Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术

    转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某 ...

  7. Unity Shader入门精要学习笔记 - 第14章非真实感渲染

    转载自 冯乐乐的 <Unity Shader 入门精要> 尽管游戏渲染一般都是以照相写实主义作为主要目标,但也有许多游戏使用了非真实感渲染(NPR)的方法来渲染游戏画面.非真实感渲染的一个 ...

  8. 渲染路径-u3d渲染路径比较

    Unity支持不同的渲染路径.应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个.不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影.        项目所使用的渲染路径在Player S ...

  9. 渲染路径-实时渲染中常用的几种Rendering Path

    http://www.cnblogs.com/polobymulberry/p/5126892.html?utm_source=tuicool&utm_medium=referral 回到顶部 ...

随机推荐

  1. 通过openresty && tengine && nginx 动态添加资源到 html 页面

    1. 目标 不用修改后端代码,但是还需要进行js .css 等资源文件的加载 主要的场景是进行统计分析 2.技术实现 通过服务器扩展进行动态添加 iis 可以添加模块,nginx 可以使用  sub_ ...

  2. docker windows 2016 安装测试

    1. 安装方式      powershell Install-Module-NameDockerMsftProvider-RepositoryPSGallery-Force Install-Pack ...

  3. wdlinux重新编译nginx

    背景: 由于web站点需要换主机,并且切换环境. 站点需要做反相代理(nginx),主机从美国迁移到香港[考虑到速度问题,为什么不用大陆阿里云ECS服务器?几十个域名备案麻烦,还有阿里云内地没有多ip ...

  4. Java 设计模式 之 中介者模式(Mediator)

    中介者的功能非常简单,就是封装对象之间的交互. 如果一个对象的操作会引起其他相关对象的变化,或者是某个操作需要引起其他对象的后续或连带操作,而这个对象又不希望自己来处理这些关系,那么久可以找中介者,把 ...

  5. Java-Runoob:Java StringBuffer 类

    ylbtech-Java-Runoob:Java StringBuffer 类 1.返回顶部 1. Java StringBuffer 和 StringBuilder 类 当对字符串进行修改的时候,需 ...

  6. Log4j.xml配置(rolling示例)

    Log4j.xml配置(很详细) <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4 ...

  7. GroupVarint

    folly/GroupVarint.h folly/GroupVarint.h is an implementation of variable-length encoding for 32- and ...

  8. 一步步实现 Redis 搜索引擎

    来源:jasonGeng88 github.com/jasonGeng88/blog/blob/master/201706/redis-search.md 如有好文章投稿,请点击 → 这里了解详情 场 ...

  9. Linux下sz下载文件超过4G办法

    当下载文件超过4G时,sz提示能下载. 解决办法有以下几种: 1.scp 2.ftp 3.nc 4.icmp 5.文件切割 ---------------------------------- 以上4 ...

  10. angularJs中的发送请求例子

    $http({ //发送请求 url: 'http://localhost:8080/teacher/api/login', method: 'post', data: obj }) .success ...