Description
1. lightmap目前是全烘焙(包括直接/间接/遮挡都混在一起)的状态, 因此应该用它替换掉所有实时光照,即#if USE_LIGHTMAP && !USE_BATCHING && !CC_FORWARD_ADD这一段放在StandardShading的最后,等以后支持了indirect only, shadow等模式再修改流程,lightmap也需要考虑曝光值
2. 烘焙期需要确定一组默认相机曝光参数, 相当于是在此曝光参数下烘焙的光强(无tonemapping), 渲染期要对lightmap先复原到无曝光的原始光强下, 然后再转换到当前相机曝光参数下
如何与UseHDR参数适配: 烘焙器永远烘焙HDR数据, 如果当前是LDR模式下, 则光源需要有一个函数GetBakeIntensity,会根据当前HDR状态自动将LDR亮度值映射为光度学灯光在默认相机曝光参数下的HDR值,即HDRIntensity = LDRIntensity / fixed_exposure再传入烘焙器即可
3. 需要调研Lightmap如何与实时光照结合,分离Shadow AO等通道, GIOnly的设定, 相关的UI等等
4. 流程自动控制,不能让用户干预, 材质宏USE_LIGHTMAP要去掉 https://github.com/cocos-creator/3d-tasks/issues/4668 https://github.com/cocos-creator/3d-tasks/issues/5957
5. https://github.com/cocos-creator/3d-tasks/issues/9132
6. 光照模型:需要加入金属性 https://github.com/cocos-creator/3d-tasks/issues/3950
7. 光照模型:精确光衰减等引擎完成之后与烘焙端对齐
8. 支持bump烘焙
9. 自动生成2U:接入Thekla_Atlas来生成光照图所用UV,所有模型拥有一致的texel密度.对光照图进行dilation处理以对抗UV接缝问题.接入BinPacking 处理光照图图集.
Reactions are currently unavailable
You can’t perform that action at this time.
如何与UseHDR参数适配: 烘焙器永远烘焙HDR数据, 如果当前是LDR模式下, 则光源需要有一个函数GetBakeIntensity,会根据当前HDR状态自动将LDR亮度值映射为光度学灯光在默认相机曝光参数下的HDR值,即HDRIntensity = LDRIntensity / fixed_exposure再传入烘焙器即可