五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity LWRP vs HDRP

2019-05-19 19:43 作者:AICDG  | 我要投稿

Unity SRP相關(guān)的文章其實(shí)Unite 2019結(jié)束就想寫(xiě)了,無(wú)奈Unity之前的版本存在bug,在雙顯卡的機(jī)器上用renderdoc會(huì)崩潰,直到2019.1.3f1版本才修復(fù)了這個(gè)問(wèn)題。估計(jì)LWRP和HDRP的相關(guān)的結(jié)束文章和代碼分析也看的差不多了,所以本文另辟蹊徑,從畫(huà)面調(diào)試入手,分享Unity LWRP和HDRP的不同,也希望借此給大家一個(gè)分析別人游戲畫(huà)面的思路,還有畫(huà)面出現(xiàn)問(wèn)題時(shí)該如何定位問(wèn)題的方法。本文比較基礎(chǔ),對(duì)于適合沒(méi)有圖形調(diào)試經(jīng)驗(yàn)但想學(xué)習(xí)圖形調(diào)試方法的同學(xué)觀看。

本文就是用Unity SRP的默認(rèn)場(chǎng)景了,更復(fù)雜的場(chǎng)景其實(shí)也一樣,畢竟是同一個(gè)render path

兩張圖分別是LWRP和HDRP的,不知道大家能不能肉眼分出來(lái)。

上面的是LWRP,下面的是HDRP。兩者乍一看其實(shí)去吧不是特別大,特別是材質(zhì)上,畢竟都是PBR材質(zhì)。兩者的肉眼可見(jiàn)的畢竟明顯的區(qū)別其實(shí)也不算多,也就是兩者色調(diào)存在差異(觀察天空盒可以比較明顯的看出),探照燈(兩者光強(qiáng)也存在一定差別,不過(guò)LWRP仔細(xì)看可以感覺(jué)沒(méi)什么衰減,HDRP和自然界的光則比較像,實(shí)際參數(shù)LWRP就用不知物理含義的強(qiáng)度,HDRP則用了物理單位流明)

靠肉眼區(qū)分還是太難了,所以,還是掏出renderdoc,看管線吧

LWRP
HDRP

這下子應(yīng)該比較直觀了,HDRP的render path長(zhǎng)度是LWRP的幾倍,而且對(duì)渲染有一定了解的同學(xué)一定也看出來(lái)了,LWRP是標(biāo)準(zhǔn)的forward rendering,而HDRP則是tile based hybrid deferred/cluster forward rendering,對(duì)3A游戲有些了解的對(duì)這個(gè)詞一定不陌生。

LWRP分析

LWRP比較短,所以分析的全一些

LWRP的第一步,是渲染main shadowmap

shadowmap一般使用了一張2k分辨率R16_TYPELESS格式的貼圖,沒(méi)有使用常見(jiàn)的深度貼圖(d24c8)格式,畫(huà)了四次,因?yàn)槭褂昧薈SM。之前Set render target的時(shí)候

第二步是Additional shadows

這個(gè)過(guò)程中每個(gè)可投影的光源都會(huì)生成自己的shadow map,場(chǎng)景中只有一個(gè)Spotlight,所以繪制了一次,而且可以看見(jiàn),次重要的光源使用1k分辨率的陰影貼圖,沒(méi)有開(kāi)啟CSM

緊接著就是第三步Z prepass

做一次z prepass類似于earlyZ,建設(shè)overdraww

第四步,resolve shadows

resolve shadowmap,可以看到這個(gè)過(guò)程中貼圖的格式已經(jīng)變成了R8,其實(shí)還能看到貼圖開(kāi)啟了MSAA x4,已經(jīng)可以斷定LWRP默認(rèn)開(kāi)啟MSAA x4抗鋸齒

接下來(lái)終于到了重頭戲,Render Opaques

在這個(gè)過(guò)程中,所有不透明的物體依次渲染,絕大部分場(chǎng)景都是最重要的render pass

緊接著是渲染Skybox

Unity LWRP并沒(méi)有把skybox放在opaque里,因?yàn)閦 perpass也沒(méi)有處理skybox

Opaque的物體處理完了就該處理Transparent

這個(gè)場(chǎng)景半透明物體很少,也基本看不見(jiàn),一般的話要在半透明這個(gè)pass中繪制水,玻璃這些半透明物體,以及粒子特效等使用alphablend材質(zhì)的物體

最后渲染一些后期效果

LWRP默認(rèn)場(chǎng)景基本沒(méi)有什么后期處理,就有HDR tonemapping和Bloom,這兩個(gè)后期效果是LWRP內(nèi)置的,其他的post processing需要額外配置

HDRP分析

LWRP分析的比較全面,HDRP就會(huì)稍微快一點(diǎn)了

ClearBuffers

有些同學(xué)可能不太明白為什么一大推clear還要單獨(dú)一個(gè)render pass,個(gè)人猜測(cè)這個(gè)和PS4有關(guān)系,PS4的GNM的clear的效率并不算高,在4K屏上尤其明顯,4k屏幕上GNM clear一次耗時(shí)可能達(dá)到2ms,因此在PS4上普遍采用fastclear,用compute shader來(lái)clear

z prepass

和LWRP一樣,有個(gè)z prepass防止overdraw,decal也要求必須有z prepass

DBuffer

接下來(lái)的兩個(gè)pass,DBufferRender以及DBuffer Normal,就是Deferred Buffer Decal,在DBufferRender過(guò)程中使用computer shader來(lái)計(jì)算Decal,所以還需要DBuffer Normal這個(gè)過(guò)程,通過(guò)繪制一個(gè)全屏三角形的方式將DBuffer繪制。曾經(jīng)全屏特效之類的喜歡用2個(gè)三角形占滿屏幕,因?yàn)橄袼厣釛壣伲F(xiàn)在Screen space處理更優(yōu)先使用全屏三角形,可以減少一個(gè)三角形光柵化的損耗。

GBuffer

標(biāo)準(zhǔn)的延遲渲染,沒(méi)什么好說(shuō)的

接下來(lái)的步驟和為以后的抗鋸齒和AO做準(zhǔn)備

TAA,SMAA之類和時(shí)域有關(guān)的抗鋸齒技術(shù)需要motion vector

陰影貼圖

HDRP陰影貼圖策略和LWRP相近,但shader要更復(fù)雜

緊接著幾個(gè)pass進(jìn)行光照計(jì)算

基于體的光照計(jì)算,全部使用compute shader,對(duì)延遲渲染有所了解的同學(xué)應(yīng)該也比較熟悉了

接著就是最重要的pass了——Tile based deferred lighting pass

基于tile的延遲著色,充分減少GPU bandwidth壓力,使用compute shader做的。如果不用tile可以使用正常延遲著色的方式,直接一個(gè)像素著色

Forward OpaqueForward Opaque Emissive并沒(méi)有使用

我這里渲染走了延遲管線,所以Forward opaque是空的。如果使用前向管線,會(huì)在這里繪制不透明物體,看Tag可以知道Forward path也是tile based,說(shuō)明是F+/CFR

次表面散射

這個(gè)場(chǎng)景中并沒(méi)有SSS材質(zhì),所以這個(gè)pass也是空的

接下來(lái)繪制天空

天空繪制的過(guò)程中,在LWRP的skybox的基礎(chǔ)上,多了一次大氣散射的pass

半透明Z prepass

這個(gè)步驟可以進(jìn)行alpha clipping,作用類似alpha test,本例中為空

Forward PreRefraction

如果使用了SSR會(huì)用到,本demo中為空

計(jì)算各個(gè)mip的高斯模糊

很多后期特效依賴高斯模糊,也可以看到高斯也是使用compute shader計(jì)算

渲染半透明物體

這個(gè)過(guò)程和LWRP相近,但是shader要更復(fù)雜

又經(jīng)歷一個(gè)Gaussian之后,來(lái)到Distortion

這個(gè)demo中并沒(méi)有使用扭曲變形特效,因此并看不出來(lái)

接下來(lái)是post processing

HDRP的默認(rèn)后期比LWRP復(fù)雜過(guò)了,動(dòng)態(tài)曝光調(diào)整,TAA抗鋸齒,Bloom,Color grading,所有過(guò)程都是compute shader,所以需要一個(gè)final pass,繪制一個(gè)全屏三角形來(lái)應(yīng)用

保存當(dāng)前幀Depth

在最后保持當(dāng)前幀的Depth

小結(jié)

以上就是Unity LWRP和HDRP的渲染分析,希望對(duì)大家有所幫助。

Unity LWRP vs HDRP的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
鄯善县| 泰兴市| 出国| 宝丰县| 霍林郭勒市| 龙海市| 万荣县| 高阳县| 岳普湖县| 商南县| 肇庆市| 古丈县| 荥阳市| 福建省| 崇义县| 嘉祥县| 芷江| 石门县| 通河县| 林口县| 进贤县| 始兴县| 龙井市| 琼中| 南溪县| 虎林市| 五莲县| 专栏| 郯城县| 丹巴县| 锦州市| 临沧市| 公主岭市| 邳州市| 会昌县| 慈利县| 镇江市| 林口县| 朝阳市| 贡觉县| 同江市|