210 likes | 398 Views
Implementation and Analysis of Single Scattering Models for Hair. Student : Javier Meseguer de Paz Supervisor: Jan Kautz. Context. Hair simulation Modelling Animation Rendering Single scattering Multiple s cattering Shadows Other effects Data acquisition and capture.
E N D
Implementation and Analysis of Single ScatteringModelsforHair Student: Javier Meseguer de Paz Supervisor: JanKautz
Context • Hairsimulation • Modelling • Animation • Rendering • Single scattering • Multiplescattering • Shadows • Othereffects • Data acquisition and capture
Mostimportantworks • Kajiya • Firstshadingmodelforhair (actuallyfur) • Marschner et. al. • Firstphysically-basedshadingmodelforhair • Nguyen and Donelly • First real-time implementation of Marschner • Zinke • First formal mathematicalframeworktostudy and generatehairshadingmodels
Goalsof theproject Zinkedid Zinkedidnot Derive Marschner’smodelusinghisframework Hint a more general modelcouldbeused in real-time Explaineverystep in detail Derive themodel Implementthemodel Compare theresults
Goalsof theproject So we: • Explaineverystep in detail • Derivedthemodel • Implementthemodel • …and theothers • Compare theresults
Framework • A precise notationis set
Framework • Twokind of functions are defined: • Modelseverydetail • Requiresfiberwidthlessthan a pixel • Suitablefor real-time rendering • Itispossibletoconvertthe BFSDF into BCSDF
Framework • To derive models, westartwiththe BFSDF forperfectcylinder R TRT interior: refrac. indexn absoprtions TT
Framework • Then, wemodifyitto match hair’smodel - Marschner
Framework • Then, wemodifyitto match hair’smodel- Zinke
Framework • And weconvertfrom BFSDF to BCSDF • In Marschnermodelintegrals can besolved • In the case of Zinkeonlysimplified a little:
Implementation • We pre-compute themodeloffline: Numericalintegrationforthese Cachingtospeed-up this
Implementation • And storeitintofloating-pointtextures: • Then, in real-time, wejusthavetolookup
Comparison • Complexity • Kajiyaistheeasiest (it’sjust a shader!) • Marschneris quite complex • Zinkeeven more! (numericalintegrationinvolved)
Comparison • Speed • Kajiyadoesn’thave pre-computation • Marschneris2500 times fasterthanZinkeonaverage
Renderedimages • Kajiya looks quite good • Marschner and Zinke are essentiallythesame
Conclusions • Itispossibleto derive and implement a real-time version of Zinkemodel • However, itisnotreally a goodchoice • Kajiya has a verygoodquality/complexitytrade-off • Marschner looks goodbutdefinitelyneedsshadowingto show itspotential