filament Use IBL

1. 在 sample_full_pbr 的例子中,直接使用 IBL 時候,sample_full_pbr參數的如下

-i :設置IBL的目錄

-m : 物體的PBR材質貼圖

例如:

sample -m assets/models/PreviewSphere_Fabric -i ./envs/Studio_05 assets/models/PreviewSphere_Fabric/PreviewSphere.obj

 

2. 利用 cgmen 來生成 IBL 所需要的數據,cgmen 生成的重要數據有:

diffuse indirect(SH),specular indirect(dfg, specular cubemap rgbm 一系列文件) 

cgmen的參數:

--no-mirror :是否鏡像

--format : 輸出的格式大多數都是rgbm

--ibl-dfg : 生成 dfg 的 目錄

例如:

--ibl-dfg test_dfg.png --no-mirror --format rgbm --type cubemap  --deploy ./test assets/Studio_05.exr

 

需要注意的就是:

a. dfg texture 在 filament 是直接寫死了一張,不會因爲 環境圖 變化而變化,

因爲在filament 的 CMakelists.txt 裏面看到

set(output_path "${GENERATION_ROOT}/generated/data/dfg.inc")
add_custom_command(
        OUTPUT ${output_path}
        COMMAND cmgen --quiet --ibl-dfg-multiscatter --ibl-dfg-cloth --ibl-dfg=${output_path}
        DEPENDS cmgen
        COMMENT "Generating DFG LUT ${output_path}"

 

而且 所有的DFG 都是使用

E:\filament\out\cmake-release\filament\generated\data\dfg.inc 這一張,filament寫死了, 看代碼 DFG.cpp 可以找到證據

 

b. dfg texture 一定要 clamp。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章