Implementation and Analysis of Single Scattering Models for Hair

Preview:

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 Presentation

Citation preview

IMPLEMENTATION AND ANALYSIS OF SINGLE

SCATTERING MODELS FOR HAIR

Student: Javier Meseguer de PazSupervisor: Jan Kautz

CONTEXT Hair simulation

Modelling Animation Rendering

Single scattering Multiple scattering Shadows Other effects Data acquisition and capture

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

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

GOALS OF THE PROJECT

Explain every step in detail

Derived the model

Implement the model …and the others

Compare the results

So we:

FRAMEWORK• A precise notation is set

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

FRAMEWORK To derive models, we start with the BFSDF for

perfect cylinderTRTBFSDF

TTBFSDF

RBFSDFBFSDF ffff

R TRT

TT

interior:refrac. index nabsoprtion s

FRAMEWORK Then, we modify it to match hair’s model -

MarschnerTRTBFSDF

TTBFSDF

RBFSDFBFSDF ffff

FRAMEWORK Then, we modify it to match hair’s model -

ZinkeTRTBFSDF

TTBFSDF

RBFSDFBFSDF ffff

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

IMPLEMENTATION We pre-compute the model offline:

Numerical integration for these Caching to speed-up this

IMPLEMENTATION And store it into floating-point textures:

• Then, in real-time, we just have to lookup

RESULTS

RESULTS

RESULTS

COMPARISON Complexity

Kajiya is the easiest (it’s just a shader!) Marschner is quite complex Zinke even more! (numerical integration involved)

COMPARISON Speed

Kajiya doesn’t have pre-computation Marschner is 2500 times faster than Zinke on

average

Rendered images Kajiya looks quite good Marschner and Zinke are essentially the same

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

Recommended