Skip to content
第22回 ボリュームの積算とゴッドレイ

3 / 4 手前からの透過率と色の積算 ​

このステップの目的

奥の寄与が手前の霧で弱まる関係を追います。

見える割合を持ち回る ​

前のステップから、各区間の透過率0.8、不透明さ 1−0.8=0.2 を受け取った例を使います。「区間の透過率」はその一区間で残る割合、「累積透過率」は手前からそこまで通って残った割合です。どちらも透過率ですが、掛け合わせる範囲が違います。

積算の最初は透過率を1、合計色を0にします。ある区間の不透明さが0.2、そこで加える色の係数が1なら、最初の区間の寄与は0.2です。通過後に残る透過率は0.8になります。

次も同じ区間なら、その寄与は0.8×0.2=0.16です。合計は0.36、残る透過率は0.64となります。奥の色を毎回0.2ずつ足すのではなく、手前を通って残る割合を掛けます。

区間読む前の透過率今回加える寄与読んだ後の透過率
手前11 × 0.2 = 0.20.8
奥0.80.8 × 0.2 = 0.160.64

最後に背景を加える ​

合計した霧の色へ、残った透過率を掛けた背景色を加えます。霧の寄与と背景を両方そのまま足すと、背景が減らず明るすぎる場合があります。基本では二区間を手計算してから、区間数を増やす考え方へ進みます。

背景の値も1なら、霧の寄与0.36に背景の寄与 0.64×1 を足して1です。背景が0なら結果は0.36です。ここでは同じ区間色を用いた簡略化した合成を扱い、光源から届く光の計算は次のステップで分けて考えます。

積算の順序 ​

text
合計色 = 0
累積透過率 = 1
手前から各区間について:
    区間透過率 = exp(-減衰係数 × 区間長)
    区間の不透明さ = 1 - 区間透過率
    合計色 += 累積透過率 × 区間の不透明さ × 区間色
    累積透過率 *= 区間透過率
最終色 = 合計色 + 累積透過率 × 背景色

合計色へ寄与を加える時点では、その区間を通る前の累積透過率を使います。一区間を先に減衰させてから寄与へ掛けると、別の値になります。

条件を変えた確認 ​

透過率0.8、区間色の係数1の層を三つ通り、背景の値を0.5とします。合計色と残る透過率を求めてから背景を加えます。

考え方の確認

区間の合計は0.2+0.16+0.128=0.488、残る透過率は0.512です。背景0.256を加えた結果は0.744です。

区間を通る前の累積透過率を使って寄与を加える順序を残します。

チェックリスト
  • 二区間の寄与0.2と0.16、残る透過率0.64を求められる。
  • 変更した条件と、予測・計算した結果を対応付けて説明できる。