Skip to content

PBRに多重散乱補償を追加する #14

Description

@PenguinDOOM

目的

単一散乱のGGX BRDFで失われるエネルギーを補償し、特に高粗さ・高金属度の材質で不自然に暗くなる問題を改善する。

0.2.0でPBRとHybridの直接鏡面反射に多重散乱補償を追加する。

親Issue: #1
依存: #13

対象

  • Shaders/Common/pbr_brdf.hlsl の直接BRDF評価
  • PureBase/PBR
  • 共通PBR実装を使用する PureBase/Hybrid
  • 関連する数値安定性テストと描画回帰

実装方針

  • Smith GGX高速近似で確保したコスト余裕を使い、多重散乱によるエネルギー損失を補償する。
  • 補償方式の出典または導出根拠をコードコメントかドキュメントに記録する。
  • 拡散項との二重加算や、金属・誘電体間の不整合を避ける。
  • 直接光と間接光の役割を明確にし、IBLへ意図しない補償を重複適用しない。
  • Unity Standard互換の明るさ補正とは独立して評価できる構造にする。

完了条件

  • 高粗さ・高金属度で単一散乱由来の過度な暗化が改善される。
  • 低粗さ、誘電体、金属で不自然な過剰発光が発生しない。
  • PBRとHybridで同じ鏡面補償を共有する。
  • ForwardBaseとForwardAddで補償の適用規則が一貫している。
  • NaN、Inf、負の放射輝度を発生させない。
  • 補償方式と適用範囲をドキュメント化する。
  • 影響範囲のDaily検証と回帰確認が通る。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions