怡春院av_国产精品久久久久久亚洲毛片_精品国产乱码一区二区三区_亚洲一区欧美日韩_亚洲黄色激情视频_国产全黄a一级毛片91_亚洲免费在线播放

【游戲開發(fā)】Cluster Light Culling是什么?

2021-03-31
5773
0

關(guān)于RenderPath

主流目前有Forward ,Deferred

而對(duì)于多光源,傳統(tǒng)的Forward管線采用,一盞燈光燈光多渲染一遍物體的方法來繪制多光源,也就是Forward Add的方式,這種方式隨著燈光的數(shù)量上漲,即會(huì)造成O(n*m)的復(fù)雜度。

而Deferred對(duì)于多光源,則是以先渲染圖形信息GBuffer,然后延后處理燈光,O(n m)的復(fù)雜度。

為什么會(huì)突然好奇~~?

因?yàn)镃luster出現(xiàn)頻率高。。還實(shí)現(xiàn)過總有一點(diǎn)蛋疼的感覺。。。當(dāng)看到URP也有LightCulling時(shí)(不知道里面的實(shí)現(xiàn)有沒有Tile)~就去了解一下...

 

Cluster Base Light Culling

無論是Deferred還是Forward,在燈光數(shù)量大的時(shí)候其實(shí)性能消耗還是很嚴(yán)重的,Deferred雖然解決了Forward Add在多光源下OverDraw和DC嚴(yán)重的問題。但也無法處理燈光數(shù)量巨大時(shí)(燈光范圍影響小)。

普遍來說,如果不做Cluster,燈光機(jī)型剔除,基本的做法是用攝像機(jī)視椎體與點(diǎn)光(球體),與SpotLight(椎體)來進(jìn)行碰撞檢測(cè)做剔除。但是對(duì)于 Small light range,上千棧燈光,就很有必要做Tile / Cluster來剔除燈光。。

簡(jiǎn)單的原理理解:

1.劃分Tile

給屏幕分Tile,如16x16為一個(gè)Tile,每個(gè)Tile都是一個(gè)視椎體,然后從ClipSpace轉(zhuǎn)到View Space中計(jì)算,計(jì)算視椎體與每個(gè)燈光(點(diǎn)光球體/椎體)的相交來判定燈光是否剔除。

2.數(shù)據(jù)結(jié)構(gòu)方面

1.Global Light List

2.Global Light Index List

3.Light Grid {Light Count,Light Start Offset}

按照理解,Light LIst,和Light Index List,就像VertexBuffer,和IndexBuffer,所以,最后計(jì)算完后,每個(gè)shader計(jì)算著色,也是通過 ClipPos->ScreenPos ->計(jì)算出TileIndex,得到LightGrid -> 再索引到 -> 對(duì)應(yīng)的燈光信息。

3.Light Culling

1.如3dgep的教程,沒有按照Depth來再分Slice 視椎體,是通過直接讀取深度圖,判定每個(gè)ThreadGroup (Tile)的min max Depth來決定視椎體裁剪燈光的。

2.Opaque和Transparent的裁剪因?yàn)閙ix max depth的原因, 有所不同,因?yàn)橥该魑矬w一般不會(huì)寫入深度圖,所以min depth必須=near plane,我們只能裁剪Opaque后面的燈光。

 

3.因?yàn)闊艄馐歉鶕?jù)cluster來裁剪的,一個(gè)group Thread 包含TileSizexTileSize的線程數(shù),每個(gè)線程都可以負(fù)責(zé)256次方的燈光,即線程1處理燈光{1,256,512...},線程2處理{2,257,513},因?yàn)槭钦麄€(gè)Tile,所以遍歷燈光當(dāng)然分開到每個(gè)線程啦。 

4.Final shade

1.燈光剔除完成后,我們就知道了 每個(gè)Tile接受的LightList

2.通過ClipPos - > ScreenPos - >拿到對(duì)應(yīng)的Tile->索引到燈光

3.遍歷燈光計(jì)算燈光信息

總結(jié):

Cluster的基本思路就是 分塊,3dgep,只在2D上分了Tile,而在Emil Persson的pdf里面,則對(duì)比了幾種cluster and depth的策略。

Cluster Light Culling,可以 用于Deferred (Tile base deferred),也可以用于Forward(forward plus),主要是用于用于減少燈光的復(fù)雜度。

 

轉(zhuǎn)載聲明:本文來源于網(wǎng)絡(luò),不作任何商業(yè)用途。

免責(zé)聲明:本文內(nèi)部分內(nèi)容來自網(wǎng)絡(luò),所涉繪畫作品及文字版權(quán)與著作權(quán)歸原作者,若有侵權(quán)或異議請(qǐng)聯(lián)系我們處理。
收藏

全部評(píng)論

您還沒登錄

暫無留言,趕緊搶占沙發(fā)
主站蜘蛛池模板: 天天色天天拍 | 男女污污黄无遮挡免费 | 波多野结衣在线观看一区二区三区 | 激情六月色 | 欧美日韩亚洲一区二区三区在线观看 | 免费一级毛片一级毛片aa | 免费爽视频| 国产黑人在线 | 九草在线播放 | 欧美成人性色区 | 成人字幕网视频在线观看 | 国产美女一级视频 | 久久99热这里只有精品 | 99热这里只有精品2 99热这里只有精品9 | 国产第一页久久亚洲欧美国产 | 精品久久久久国产 | 日本爽p大片免费观看 | 激情六月丁香婷婷 | 免费黄色网址在线播放 | 亚洲天堂网在线播放 | 韩国三级hd中文字幕一男多女 | 日本黄色一级片视频 | jizz亚洲大全| 欧美在线看欧美高清视频免费 | 天天草综合 | 欧美白人最猛性xxxxx欧美馆 | 日本免费看片 | 欧美成人免费丝袜视频在线观看 | 欧美日本视频在线观看 | 欧美影院久久 | 天天摸天天草 | 国产三级在线播放不卡 | 69堂精品| 欧美www在线观看 | 激情五月婷婷色 | 精品久久久久久无码中文字幕 | 亚洲免费在线视频播放 | 51国产午夜精品免费视频 | 日韩欧美在线视频一区二区 | 亚洲午夜大片 | 欧美日韩亚洲国内综合网俺 |