Lightmap(光照貼圖)能實現動態光照嗎?

時間 2021-05-06 22:33:08

1樓:dodoleon

能的貼乙個我實現的效果。這個效果光源是可以任意改變,房子裡面的家具也可以。不知道為什麼地板上實時烘焙出來的lightmap會出現閃爍的問題。

動態全域性光照demo

2樓:叛逆者

這取決於你如何定義lightmap。如果你取狹義定義的話:lightmap表示每個點的RGB結果,那麼肯定是不能動態的。

如果你用的是廣義的定義,lightmap表示針對乙個場景在特定光源和特定brdf下prebake的資訊,那麼,是可以動態的。

按照這樣廣義的定義,最簡單的lightmap是單通道的,prebake了靜態場景的AO資訊。那顯然是靜態的。

稍微擴充套件一下,prebake靜態場景在靜態光源和diffuse下的RGB,那麼就是狹義定義的lightmap。

Halo3的lightmap用的是PRT的框架,prebake靜態場景在預先指定的brdf下的SH資訊。結果就是光源可變。具體可以看這裡的資料:

這個方法所需的lightmap空間是巨大的。每個通道用3階SH,就會是每個畫素需要一共27個float值。這樣的lightmap要放到XBox 360那麼小的記憶體空間,會直接爆掉。

所以就涉及到乙個非常重要的議題,如何壓縮。這個壓縮方法也適用於其他形式的lightmap:

如果更進一步,每個畫素存的是乙個場景的多個動態物體、動態光源和動態brdf情況下的lightmap,那是完全可以通過插值做到支援全動態光照的。然而那樣每個畫素就不知道要多少個值來描述了。

好在,我們有神經網路這樣的擬合工具,把那些複雜的情況都用乙個神經網路表達出來:

Global Illumination with Radiance Regression Functions

3樓:Charlie

的確有方法實現……

比如樓上提到的Rasmus Barringer部落格上的方法,基於hierarchical form factor+輻射度的方法去實時更新

Realtime global illumination (part 2)

還有基於surfel和clustering的方法

另外在2023年的《鏡之邊緣:催化劑》中DICE通過預先計算+混合多張Enlighten得到的lightmap來實現動態日夜更替

Lighting the City of Glass - Frostbite

4樓:Steven Liu

實際上是可以的,在 texture space 做 lighting 然後 propagate 到周圍的 texel 去:

Realtime global illumination (part 1)

Realtime global illumination (part 2)

實際上在 object space / texture space 做 shading 的遊戲都是有的:Object/texture space lighting。

烘焙光照貼圖的時候如何處理自定義材質的?

已登出 從文件上看,unity3,4是有個hardcoded對映,5開始可以用meta pass額外控制在lightmap計算時的效果 Unity Manual Meta Pass FXCarl unity3D 並不支援自寫材質的烘培啊。引擎烘培的都是光照資訊而非離線渲染的complete map ...

雷達在無光照情況下能測速麼?

你要看你用的什麼雷達,雷射雷達是可以的,因為雷射雷達是通過自己產生光粒子,然後發射出去,接收回來。所以雷射雷達受環境影響的因素比較小,包括電磁波對雷射雷達影響也很小。但是雷射雷達也有不足,因為是發射光粒子,不能穿透障礙物,距離不能太遠。 章佳 穆騰 廣義上,波動 變化的 電流都產生磁場。帶有訊號的電...

網路陪聊能實現嗎?

ENDLESS 我認為是可以實現的。就像你說的,對方都不知道你你也不知道對方,在交流上少了很多顧慮,不擔心自己的秘密會被別人知道。所以如果你們都比較空虛寂寞冷的話,網上聊一聊也是乙個不錯的選擇。但是要知道,那只是乙個消遣的手段,現實才是你的生活,一定要回到生活裡來。 李騰 其實單從聊天來說,陌生人比...