旧延迟光照渲染路径

原文链接:https://docs.unity3d.com/Manual/RenderTech-DeferredLighting.html

        本文详述了旧延迟光照(光照prepass)渲染路径。查看这篇文章(链接见原网页)获得延迟光照的技术概述。

        请注意:延迟光照被认为是一个从Unity5.0开始的旧功能,因为它不支持一些渲染功能(例如标准shader,反射探针)。现在的项目应该考虑使用延迟着色渲染路径来代替。

        请注意:当使用正交透视时,延迟渲染不被支持。如果摄像机的透视模式被设置为正交,那么这个摄像机将会总是使用正向渲染。


概述

        当使用延迟光照时,对于一个游戏物体可以被多少光照所作用没有限制。所有的光照使用逐像素计算,这意味着它们都可以与法线贴图等相交互。另外,所有光照都可以有缓存和阴影。

        延迟光照具有优势,其处理光照的开销与光照照射到的像素成比例。这取决于场景中光照值的大小,不论它照射了多少个游戏物体。因此,可以通过使光照变小提高性能。延迟光照也是高度一致的和行为可预测的。每个光照的影响都是逐像素计算的,所以没有光照计算会拆分大的三角面。

        劣势方面,延迟光照并不真正支持抗失真,并且也不能处理半透明游戏物体(它们将使用正向渲染)。其也不支持网格渲染器接收阴影的标记,并且剔除遮罩仅仅以有限方式支持。您最多只能使用四个剔除遮罩。也就是说您的剔除遮罩层必须至少包含所有的层减去四个任意的层,所以32个层中必须要设置28个层。否则,您会得到图形的假象。


要求

        它要求显卡是shader模式3.0(或更新),支持深度渲染纹理和双面的模板buffer。大多数2004年后生产的PC显卡支持延迟光照,包含GeForce FX及更新的型号,Radeon X1300及更新的型号,Intel 965 / GMA X3100和更新的型号。在移动端,所有支持OpenGL ES3.0的GPU支持延迟光照,还有一些支持OpenGL ES2.0的GPU也可以支持(支持深度纹理的那些GPU)。


性能考虑

        延迟光照的实时光照渲染开销不取决于场景的复杂性,而是与被此光照照射到的像素数量成比例。所以小的点光源或是聚光灯渲染的消耗是非常低的,而且如果它们完全或者部分的被场景中的游戏物体遮挡,那么它们的消耗会更低。

        当然,有阴影的光照比没有阴影的光照性能消耗要高得多。在延迟光照中,投射阴影的游戏物体始终需要被投射阴影的光照渲染一次或更多次。更进一步说,开启阴影的光照shader的渲染开销要比不使用阴影的更高。


实现细节

        当延迟光照被使用时,在Unity中的渲染过程发生在三个pass中:

        1.Base Pass:对象被渲染用来产生屏幕空间buffer,这些buffer有深度,法线和高光强度。

        2.Lighting pass:使用上一个pass生成好的buffer来将光照计算到另一个屏幕空间buffer。

        3.Final pass:对象被再次渲染。它们获取计算好的光照,将其与颜色纹理融合,并且添加所有环境光和自发光光照。

        有不支持延迟着色shader的物体在延迟着色完成后,使用正向渲染路径。


Base Pass

        base pass渲染每个对象一次,观察空间法线和高光强度被渲染到一个独立的ARGB32RenderTexture(法线在RGB通道,高光强度在A通道)中。如果平台和硬件允许Z buffer作为纹理来读取,那么深度值不会被显式的渲染。如果不能以纹理的形式得到Z buffer,那么深度会在一个额外的渲染pass中使用shader替换来渲染。base pass的结果是一存有场景内容的Z buffer,和一个有法线和高光强度的RenderTexture。


光照pass

        光照pass基于深度,法线和高光强度计算光照。光照在屏幕空间中计算,所以计算过程花费的时间取决于场景的复杂度。光照buffer是一个单独的ARGB32格式的RenderTexture,漫反射光照在RGB通道中,单色的镜面高光光照在A通道中。光照值是被对数编码来提供一个比一个通常的ARGB32纹理提供一个更大的动态范围。当一个摄像机是启用HDR的时候,那么光照buffer是ARGBHalf格式,那么对数编码不被允许。

        不通过摄像机近截面的点光源和直射光作为3D图形(正面)来渲染,并进行深度测试来决定是否在场景中启动。通过近截面渲染的光照光照也会被作为3D图形来渲染,但是背面使用反转深度测试来代替。这使得部分或完全被遮挡的点光源或直射光渲染的代价非常低。如果一个光照与摄像机的近截面或者远截面同时相交,那上面的优化就不能被使用,光照不会使用深度测试并且被画在一个紧凑的四边形上。

        上面所述并不适用于平行光,它们总是被作为全屏四边形所渲染。

        如果一个光照启用阴影,那么这些阴影也将在这个pass中进行渲染和应用。请注意阴影不是免费的,阴影投射器需要被渲染,并且一个更复杂的光照shader必须被应用。

        唯一可用的光照模型是Blinn-Phong。如果想用一个不同的模型,您可以更改光照pass shader,通过将修改版本的Internal-DeferredShading.shader文件从内置shader文件夹中放置到Assets文件夹下的Resources文件夹中。然后到Edit->Project Settings->Graphics窗口,选择Deferred下拉框中的Custom Shader。然后选择看起来是您正在使用的shader的shader选项。


最终pass

        最终pass产生最终要渲染的图像。在这里,所有对象都被一个shader所渲染,这个shader获取光照,将其与纹理合并,并且添加所有自发光。光照贴图也在最终pass中被应用。靠近摄像机,实时光照被使用,并且只烘焙被添加的非平行光照。在离摄像机更远的地方其过渡到完全烘焙的光照。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容