implementation and analysis of single scattering models for hair
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/1.jpg)
IMPLEMENTATION AND ANALYSIS OF SINGLE
SCATTERING MODELS FOR HAIR
Student: Javier Meseguer de PazSupervisor: Jan Kautz
![Page 2: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/2.jpg)
CONTEXT Hair simulation
Modelling Animation Rendering
Single scattering Multiple scattering Shadows Other effects Data acquisition and capture
![Page 3: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/3.jpg)
MOST IMPORTANT WORKS Kajiya
First shading model for hair (actually fur) Marschner et. al.
First physically-based shading model for hair Nguyen and Donelly
First real-time implementation of Marschner Zinke
First formal mathematical framework to study and generate hair shading models
![Page 4: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/4.jpg)
GOALS OF THE PROJECT
Derive Marschner’s model using his framework
Hint a more general model could be used in real-time
Explain every step in detail
Derive the model
Implement the model
Compare the results
Zinke did Zinke did not
![Page 5: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/5.jpg)
GOALS OF THE PROJECT
Explain every step in detail
Derived the model
Implement the model …and the others
Compare the results
So we:
![Page 6: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/6.jpg)
FRAMEWORK• A precise notation is set
![Page 7: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/7.jpg)
FRAMEWORK
),,,,,,( oooiiiBFSDF hhsf
),,,( ooiiBCSDFf
• Models every detail
• Requires fiber width less than a pixel• Suitable for real-time rendering
• Two kind of functions are defined:
• It is possible to convert the BFSDF into BCSDF
oioooiiiBFSDFooiiBCSDF hhshhsff ddd),,,,,,(21),,,(
1
1
1
1
![Page 8: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/8.jpg)
FRAMEWORK To derive models, we start with the BFSDF for
perfect cylinderTRTBFSDF
TTBFSDF
RBFSDFBFSDF ffff
R TRT
TT
interior:refrac. index nabsoprtion s
![Page 9: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/9.jpg)
FRAMEWORK Then, we modify it to match hair’s model -
MarschnerTRTBFSDF
TTBFSDF
RBFSDFBFSDF ffff
![Page 10: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/10.jpg)
FRAMEWORK Then, we modify it to match hair’s model -
ZinkeTRTBFSDF
TTBFSDF
RBFSDFBFSDF ffff
![Page 11: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/11.jpg)
FRAMEWORK And we convert from BFSDF to BCSDF
In Marschner model integrals can be solved In the case of Zinke only simplified a little:
BCSDFBFSDF ff
![Page 12: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/12.jpg)
IMPLEMENTATION We pre-compute the model offline:
Numerical integration for these Caching to speed-up this
![Page 13: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/13.jpg)
IMPLEMENTATION And store it into floating-point textures:
• Then, in real-time, we just have to lookup
![Page 14: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/14.jpg)
RESULTS
![Page 15: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/15.jpg)
RESULTS
![Page 16: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/16.jpg)
RESULTS
![Page 17: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/17.jpg)
COMPARISON Complexity
Kajiya is the easiest (it’s just a shader!) Marschner is quite complex Zinke even more! (numerical integration involved)
![Page 18: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/18.jpg)
COMPARISON Speed
Kajiya doesn’t have pre-computation Marschner is 2500 times faster than Zinke on
average
![Page 19: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/19.jpg)
Rendered images Kajiya looks quite good Marschner and Zinke are essentially the same
![Page 20: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/20.jpg)
CONCLUSIONS It is possible to derive and implement a real-
time version of Zinke model However, it is not really a good choice Kajiya has a very good quality/complexity
trade-off Marschner looks good but definitely needs
shadowing to show its potential
![Page 21: Implementation and Analysis of Single Scattering Models for Hair](https://reader035.vdocument.in/reader035/viewer/2022081604/56816716550346895ddb83ce/html5/thumbnails/21.jpg)