type
status
date
slug
summary
tags
category
icon
password

1. 数据特征

  • 输入
    • 存在两组uv,uv2用于DetailMap
    • 贴图构成(6张)
      • 光源索引贴图
      • MixMap(输入 - G:厚度 A: AO 未输入 - R\B 两个版本Roughness)
      • 法线、细节法线、细节法线强度
      • 光照掩码(决定下文主光计算中fullyMLight是否有效)
  • 输出(2张RT)
    • 光照结果
    • notion image
    • 厚度图(1-Mixmap.g)
    • notion image

2. 计算特征

  • 常规Normal混合DetailNormap,由疑似uv分区控制强度,来源为两项传入值
    • 从2395截帧数据来看,两项都为0,没有起效,需要其他dc数据作为参考,后续文章会补充
  • 主光计算
    • 分为受AO的部分AmbientLight和不受AO的偏移部分fullyMLight,有各自的颜色和放学
    • fullyMLight
      • 通过输入的光源索引贴图+传入Buffer数据(_21.m6)应用主光强度偏移θ,作为fullyMLight的强度参数
      • 只要传入的强度偏移参数(θ)不为1,则背光面也一定受,受光系数由[0,1]映射为[1-θ, 1]
    • AmbientLight最终着色需要叠加AO
    • 两盏光最终光照贡献都需要由NdL叠加球面积分(1/Π≈0.31830987)
  • 球谐光照调制
    • 特殊算法调制光照结果,关联性内容有:
      • 与设定平面的高度差
      • 指定颜色偏移
      • 高度差叠加后的亮度
      • 根据亮度调整的饱和度
      • 叠加色
      • 饱和度调整比例
      • 叠加AO
  • 点光源
    • 通过传入贴图查找光源索引,uv为相对世界坐标的xz(无高度分布)
      • 数据存储做了世界空间Y平面Grid处理
      • 参数LightClusterPosGrid.xy为Y平面中的用于Cluster的原点坐标
      • 参数LightClusterPosGrid.zw为单个Cluster块在xz轴上的尺寸
    • 最多四个光源
    • 每个光源计算流程一致
      • 兰伯特光照
      • 多种衰减叠加
      • 叠加球面积分
  • 最终光照 = 主光 + 球谐光 + 点光源
  • 厚度图 = 1 - Mixmap.g
 
恋与深空着色分析(3) - SSS着色恋与深空着色分析(1)- 渲染流程
Loading...