Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染

原创 2016年06月02日 11:41:57
Forward Rendering 正向渲染
       正向渲染一个基于着色器的渲染路径。它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影。在默认设置中,少数最亮的灯光在逐像素计算光照模式下渲染。其余的灯光计算对象顶点的光照。
       根据影响物体的光源的不同,正向渲染路径用单个或多个通道来渲染物体。在正向渲染中,光源本身也会根据他们的设置和强度受到不同的对待。

实现细节
       在正向渲染中,影响物体的最亮的几个光源使用逐像素光照模式。接下来,最多有4个点光源会以逐顶点渲染的方式被计算。其他光源将以球面调和(Spherical Harmonics)的方式进行计算,球面调和技术计算很快但只能得到近似值。根据以下的规则判断一个光源是否为逐像素光源:
  • 渲染模式被设置为不重要(Not Important)的光源以逐顶点或球面调和的方式进行计算
  • 最亮的方向光源为像素光源
  • 渲染模式被设置重要(Important)的光源为像素光源
  • 如根据以上规则得到的像素光源数量小于质量设置中的像素光源数量(Pixel Light Count),为了减少亮度,会有更多的光源以逐像素的方式进行渲染
用以下的方法渲染每个物体:
  • 基础通道渲染一个逐像素方向光和所有的逐顶点/球面调和光。
  • 其他逐像素光在附加的通道中进行渲染,每个光源都需要一个通道
       假设光源A到H都有相同的颜色和强度,且它们的渲染模式都为自动的(Auto),那么它们严格的按照其名字排序。最亮的光源以逐像素光照模式的方式进行渲染(A到D),然后最多有4个光源以逐顶点光照模式进行渲染(D到G),其他光源以球面调和的方式进行渲染(G到H)。
     注意不同的光照组间有重叠,如,最后一个逐像素光源也以逐顶点光照模式的方式渲染,这样能减少当物体和灯光移动时可能出现的"光照跳跃"现象。
Base Pass 基本通道
       基础通道用一个逐像素方向光和所有球面调和光渲染物体。此通道还负责渲染着色器中的光照贴图,环境光和自发光。在此通道中渲染的方向光可以产生阴影。需要注意的是,使用了光照贴图的物体不会得到球面调和光的光照。
Additional Passes 附加通道
       附加通道用于渲染影响物体的其他逐像素光源。这些通道中渲染的光源无法产生阴影(因此,前向渲染支持一个能产生阴影的方向光)。
Performance Considerations 性能注意事项
       渲染球面调和光很快。它们只花费很少的CPU计算时间,并且实际上无需花费任何GPU计算时间(换言之,基础通道会计算球面调和光照,但由于球面调和光的计算方式,无论有多少球面调和光源,计算它们所花费的时间都是相同的)。
球面调和光源的缺点有:
  • 它们计算的是物体的顶点而不是像素。这意味着它们不支持投影遮罩和发现贴图。
  • 球面调和光只有很低的频率。球面调和光不能产生锋利的照明过渡。它们也只会影响散射光照(对高光来说,球面调和光的频率太低了)。
  • 球面调和不是局部的,靠近曲面的球面调和点光和聚光可能会"看起来不正确"。
总的来说,球面调和光的效果对小的动态物体来说已经足够好了。

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

Forward Rendering Path Details该文章详述了 Forward rendering path.Forward Rendering path 渲染每个对象在一个或多个pass中...
  • maozi_bsz
  • maozi_bsz
  • 2017年08月30日 13:12
  • 195

Unity影响渲染顺序因素的总结

如果不了解Shader中如何使用模板缓冲区,可能看不懂例子。 渲染顺序,我理解为进入显卡流水管线的顺序,会对Z、Stencil和Color Buffer带来影响。 当然,能否最终被绘制到屏幕上,还...
  • u011748727
  • u011748727
  • 2017年04月01日 18:44
  • 3115

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

http://www.cnblogs.com/polobymulberry/p/5126892.html?utm_source=tuicool&utm_medium=referral 回到顶...
  • OnafioO
  • OnafioO
  • 2016年07月11日 16:46
  • 3003

Unity3D - 渲染路径 (Rendering Path)

Unity支持多种渲染技术,或者称作“路径”。
  • biezhihua
  • biezhihua
  • 2017年08月05日 00:34
  • 760

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

Unity5 的新旧延迟渲染Deferred Lighting Rendering Path unity5 的render path ,比4的区别就是使用的新的deferred renderin...
  • OnafioO
  • OnafioO
  • 2017年01月04日 16:19
  • 910

多线程渲染(Multithreaded- rendering)3D引擎实例分析 : FlagshipEngine

1. 开篇:关于FlagshipEngine首先要感谢旗舰工作室的倒掉,让我可以名正言顺的使用FlagshipEngine这个 名字,话说这个实验引擎,当初只是我的大学毕业设计,工作之后实在太忙,写...
  • jinlking
  • jinlking
  • 2010年06月13日 18:15
  • 6917

Forward Rendering 正向渲染

Forward Rendering 正向渲染        正向渲染一个基于着色器的渲染路径。它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影。在默认设置中,少数最...
  • OnafioO
  • OnafioO
  • 2016年09月02日 19:22
  • 967

RenderingPath 渲染路径

【参考】:http://game.ceeger.com/Manual/RenderingPaths.html RenderingPath渲染路径 Deferred Lighting 延时光照 Defe...
  • lichaoguan
  • lichaoguan
  • 2015年01月09日 14:39
  • 877

【U3d】渲染统计窗口详细介绍(Rendering Statistics Window)

Statistics窗口,全称叫做 Rendering Statistics Window,即渲染统计窗口(或渲染数据统计窗口),窗口中罗列出关于声音、图像等多种统计信息。 Batches:即Batc...
  • wdmzjzlym
  • wdmzjzlym
  • 2016年05月07日 02:39
  • 6658

关于3D引擎中的多线程渲染(Multithreaded-Rendering)

http://blog.csdn.net/pizi0475/article/details/7764916 困扰了一个多月的问题,今天终于有个阶段性的了结了,虽然不知道算不算真正的了结. ...
  • mansir123
  • mansir123
  • 2015年11月02日 10:39
  • 2021
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染
举报原因:
原因补充:

(最多只允许输入30个字)