Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction for Fur, Hair Rendering

Avatar for kinakomoti-321 kinakomoti-321
November 17, 2025
30

Introduction for Fur, Hair Rendering

The slide was scheduled to be presented at RTCamp11, introduces an idea of general fur, hair BSDF and "Strand" model introduced by [Hostettler 2025] at SIGGRAPH 2025

Avatar for kinakomoti-321

kinakomoti-321

November 17, 2025
Tweet

Transcript

  1. Fur Fiberの構造 • Fur fiberは3層構造 • Cuticle • 一番外側のうろこ状の層 •

    Cortex • 大部分を占める層 • Medulla • 中心軸付近にある層 • 日華化学株式会社様|評価毛として活用
  2. Hair Fiberの構造 • Hairはmedullaがない • (毛が太い人はちょっとあるらしい) • (実はさっきの画像は人の髪) • 一般的にはない

    • FurとHairはmedullaの有無しか 差はない • なのでFurはHairの上位概念 • (現状のモデルでは) Hair Fur
  3. Fiberに入った光 • それぞれの層の特徴 • Cuticle • 凹凸による散乱 & 反射 &

    屈折 • Cortex • 吸収のみ • Medulla • 吸収、散乱
  4. BSDFの座標系 • BSDFの変数にはCurve offsetが入ってくる න 𝑆2 𝐿 𝜔𝑖 𝑓 𝜔𝑖

    , 𝜔𝑜 , ℎ cos 𝜃𝑖 ′ 𝑑𝜔𝑖 • Rendering Equation • cos項はnormalとの内積値 • 後々に消すのであまり議論する必要はない
  5. 導出 (p=R) • フレネル𝐹、各反射角𝜃𝑅,𝑟 , 𝜙𝑅,𝑟 を使えばR経路におけるlobe𝑓𝑅 は 𝑓𝑅 𝜔𝑖

    , 𝜔𝑜 , ℎ = 𝛿 𝜔𝑜 − 𝜃𝑅,𝑟 ⋅ 𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑅,𝑟 )
  6. 導出 (p=TT) • Lobeは以下のようになる 𝑓𝑇𝑇 𝜔𝑖 , 𝜔𝑜 , ℎ

    = 𝛿 𝜔𝑜 − 𝜃𝑇𝑇,𝑟 ⋅ 1 − 𝐹 𝑇𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑇𝑇,𝑟 )
  7. 導出 (p=TRT) • Lobeは 𝑓𝑇𝑅𝑇 𝜔𝑖 , 𝜔𝑜 , ℎ

    = 𝛿 𝜔𝑜 − 𝜃𝑇𝑅𝑇,𝑟 ⋅ 1 − 𝐹 2𝑇2𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑇𝑅𝑇,𝑟 )
  8. 導出 • 結果としてlobeはこんな感じに求められる • 各反射角𝜃𝑝,𝑟 𝜙𝑝,𝑟 , フレネル𝐹, 透過率𝑇は解析的に計算可能 o

    単なる幾何問題、頑張ればいける 𝑓𝑅 𝜔𝑖 , 𝜔𝑜 , ℎ = 𝛿 𝜔𝑜 − 𝜃𝑅,𝑟 ⋅ 𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑅,𝑟 ) 𝑓𝑇𝑇 𝜔𝑖 , 𝜔𝑜 , ℎ = 𝛿 𝜔𝑜 − 𝜃𝑇𝑇,𝑟 ⋅ (1 − 𝐹)𝑇𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑇𝑇,𝑟 ) 𝑓𝑇𝑅𝑇 𝜔𝑖 , 𝜔𝑜 , ℎ = 𝛿 𝜔𝑜 − 𝜃𝑇𝑅𝑇,𝑟 ⋅ 1 − 𝐹 2𝑇2𝐹 ⋅ 𝛿(𝜙𝑜 − 𝜙𝑇𝑅𝑇,𝑟 )
  9. 導出 • Lobeの係数部分をAttenuationと言う • 他はそれぞれAzimuthal, Longitudinalの項と言える 𝑓𝑅 𝜔𝑖 , 𝜔𝑜

    , ℎ 𝛿 𝜔𝑜 − 𝜃𝑅,𝑟 = 𝛿(𝜙𝑜 − 𝜙𝑅,𝑟 ) 𝑓𝑅 𝜔𝑖 , 𝜔𝑜 , ℎ 𝛿 𝜔𝑜 − 𝜃𝑅,𝑟 = 𝛿(𝜙𝑜 − 𝜙𝑅,𝑟 ) 𝑓𝑅 𝜔𝑖 , 𝜔𝑜 , ℎ 𝛿 𝜔𝑜 − 𝜃𝑅,𝑟 = 𝛿(𝜙𝑜 − 𝜙𝑅,𝑟 ) 𝐹 (1 − 𝐹)𝑇𝐹 1 − 𝐹 2𝑇2𝐹 Azimuthal Attenuation Longitudinal
  10. 導出 • それぞれ分離して表現される • 𝑀𝑝 : longitudinal function • 𝐴𝑝

    : attenuation function • 𝑁𝑝: azimuthal function 𝑓𝑝 𝜔𝑖 , 𝜔𝑜 , ℎ = 𝑀𝑝 𝜃𝑖 , 𝜃𝑜 , ℎ 𝐴𝑝 𝜔𝑖 , ℎ 𝑁𝑝 (𝜙𝑖 , 𝜙𝑜 , ℎ) Azimuthal Attenuation Longitudinal
  11. 導出 • これがMarschner modelの形状である 𝑓𝑝 𝜔𝑖 , 𝜔𝑜 , ℎ

    = 𝑀𝑝 𝜃𝑖 , 𝜃𝑜 , ℎ 𝐴𝑝 𝜔𝑖 , ℎ 𝑁𝑝 (𝜙𝑖 , 𝜙𝑜 , ℎ) Azimuthal Attenuation Longitudinal
  12. Roughness • 論文だとGaussianで書かれることが多い • シンプルにぼかしとして意味 • エネルギー非保存などの問題がある • (結構暗くなる?) 𝑀𝑝

    𝜃𝑖 , 𝜃𝑜 , ℎ = 𝐺(𝜃𝑜 − 𝜃𝑝,𝑟 , 𝛽𝑚 ) 𝑁𝑝 𝜙𝑖 , 𝜙𝑜 , ℎ = 𝐺(𝜙𝑜 − 𝜙𝑝,𝑟 , 𝛽𝑛 ) 𝐺 𝑥, 𝛽 = 1 2𝜋 𝛽 𝑒 − 𝑥2 2𝛽2
  13. LSS(Lineary Swept Sphere) • Feature • Easy management • Easy

    implementation • Free joint • Discrete • Duplicate geometry • 自作の衝突判定はAppendixに載せています • ConeとSphereの組み合わせで再現できました
  14. Strand model • SIGGRAPH 2025 Courseで発表されたmodel • 追加の事前計算なしにパラメーター変更を許可 • 事前計算のLUTも非常に軽量(Shaderに埋め込める)

    • MedullaありのFurが簡単に取り扱えるようになった • (多分)リアルタイムでも使える • Feather Renderingへの応用 • Artist-Friendlyなパラメーターの調査
  15. Strand model • Medulla内の散乱を二つの要素で分ける • Single-Scattering • Mutli-Scattering (higher orger)

    • 数値積分で求める • エネルギー保存するような量だけを事前計算
  16. Multi-Scattering • Singleでは足りない分のエネルギーを補填する • 指向性は完全に無視する • アプローチとしてはMicrofacetのMulti-Scatteringに似たのがある [Turquin 2019] •

    Single onlyと完全なscatteringのエネルギー比を計算 • その逆数をSingle-Scatteringの値にかければエネルギーが保存される 𝐸𝑠𝑠 𝐸 𝐸𝑠𝑠 : 𝑆𝑖𝑛𝑔𝑙𝑒 − 𝑆𝑐𝑎𝑡𝑡𝑒𝑟𝑖𝑛𝑔 𝐸𝑛𝑒𝑟𝑔𝑦 𝐸: 𝑆𝑐𝑎𝑡𝑡𝑒𝑟𝑖𝑛𝑔 𝐸𝑛𝑒𝑟𝑔𝑦
  17. Multi-Scattering • パラメータごとに比を求めなくてはいけない • パーセプトロンによる関数近似を行う • 16x6, 16x17, 1x17の行列3つ •

    ちゃんとパーセプトロンの値が論文に記載されている! • ここが唯一の事前計算ポイント • 一度すればどんなパラメーターも対応可能
  18. Reference • 9.9 Scattering from Hair, PBRT 4th edition. •

    もふもふレンダリング入門, Ushio. • Render Path-Traced Hair in Real Time with NVIDIA GeForce RTX 50 Series GPUs • [Pharr 2016] THE IMPLEMENTATION OF A HAIR SCATTERING MODEL • [Kajiya and Kei. 1989] RENDERING FUR WITH THREE DIMENSIONAL TEXTURES • [Marschner et al. 2003] Light Scattering from Human Hair Fibers • [d’Eon et al. 2011] An Energy-Conserving Hair Reflectance Model • [Chiang et al. 2016] A Practical and Controllable Hair and Fur Model for Production Path Tracing • [Yan et al. 2017] An Efficient and Practical Near and Far Field Fur Reflectance Model • [Hostettler 2025] Strand: A Production Model for Shading Hair, Fur and Feathers • [Turquin 2019] Practical multiple scattering compensation for microfacet models