概述: 索引材質貼圖技術

Spread the love

概述:索引材質貼圖技術

Artem Krizhanovskiy展示了索引材料映射方法,該方法允許他通過對來自預定義LUT的所有材料數據進行採樣來增加細節而不會造成內存損失。

介紹

這種方法的主要思想是減少壓縮偽像,增加所有PBR通道的細節,獲得高度可自定義的陰影,而內容沒有任何變化,最後減少內存。 

方法

我不使用直接紋理化方法,而是依靠基於材料的方法,其中使用漸變(磨損或狀況)和材料,我們可以從預定義的LUT中採樣所有材料數據。

唯一的輸入是:

-4通道全尺寸漸變ID映射,已壓縮

-完整的切線或對象空間法線貼圖,已壓縮

-16×16反照率,重新繪製LUT,未壓縮

-16×16金屬,粗糙度LUT,未壓縮

漸變紋理:R-環境光遮擋,G-材質ID,B-細節ID,A-漸變

材質LUT1:RGB-反照率,A-重塗遮罩| 未壓縮,無mip-map

材料LUT2:R-金屬,G-粗糙度,BA-空| 未壓縮,無mip-map

基本上,在讀取“材質LUT”紋理時,漸變用作U,材質ID貼圖用作V:texture(materialLUT_sampler,vec2(gradient,material_ID))

從示意圖上看,它看起來像這樣:

該過程非常簡單,可以使用代碼或基於節點的編輯器(例如Substance Designer或Unreal Engine)進行複制:

該模型包含16種材料:

重塗:

在這種情況下,其他的迷彩圖案紋理將用作重繪顏色。

重新繪製的想法是基於反向混合。眾所周知,平凡的線性插值看起來像這樣:

結果= C_base *(1-alpha)+ C_paint * alpha

我們可以得出C_base:

C_base =(結果-C_paint * alpha)/(1-alpha) 

並將其與新顏色混合:

結果= C_base *(1-alpha)+ C_repaint * alpha

 

細節決定成敗

詳細(頂部)圖像的紋理像素密度高16倍,而內存僅重11%。

這種方法的程序性質使我可以將完整的PBR細節集應用於模型,該模型適用於所有材質和重新繪製選項。細節圖由16個圖塊組成,並具有一組細節法線和細節漸變。Detail_ID映射用於定義哪個圖塊用於細節。我建議將BC7紋理格式與RG中的普通R和G通道以及B中的漸變一起使用。代碼中需要進一步恢復普通B通道。您可能會注意到一些細節是空白的,因為我不需要此模型上的16個細節。

您可以看到更改detail_ID如何影響表面:

留下一個答复

spot_img

More like this

《魔獸世界:午夜》擴...

亞歷山大‧科普( Alexander Cope ) 發表 2025年7月16日 準備好您的日曆,因為《魔獸世界》世界之魂傳奇的下一章將於 2025 年 8 月 19 日在 Gamescom 上隆重揭曉。 《魔獸世界》的世界魂傳奇在《魔獸世界:午夜》中延續。 (...

介紹Discord新...

Discord Orb 是一種全新的虛擬平台貨幣,目前由 Discord 正式推出,並逐步開放給使用者使用: 🎯 Discord Orbs 是什麼? Orbs 是一種透過完成「Quests(探索任務)」所獲得的虛擬獎勵貨幣,使用者可在 Discord Desktop ...

100% Orang...

是時候用全新卡牌包來點燃派對了!全新「課外活動包」卡牌包現已推出100% 橙汁版本,包含 12 張新卡牌、一種新卡牌類型和 2 個新卡牌關鍵字! 100% 柳橙汁支援英語、日語、西班牙語、巴西葡萄牙語、韓語、俄語以及簡體中文和繁體中文,是自 2014 年以來 Steam 上最受歡迎的日本桌遊。...