<p><em>Sorry for the bad quality of my answer. I do not have access to a computer currently and editing from my phone is not a straightforward task. In particular I would love to be able to paste images.</em>  </p>

<p>I would say that the main challenges of simulating hair are:  </p>

<ul>
<li>replicating their very specific reaction to lighting (as a material)  </li>
<li>replicating their volumetric property (as a geometry)  </li>
<li>animating them in a realistic manner  </li>
</ul>

<hr>

<p>Here is a list of references I gathered on the subject, ordered chronologically <em>(mainly about the rendering part)</em>:  </p>

<ol>
<li>JAMES T. KAJIYA, TIMOTHY L. KAY, <a href="https://www.cs.drexel.edu/~david/Classes/CS586/Papers/p271-kajiya.pdf" rel="nofollow">Rendering Fur With Three Dimensional Textures</a>, 1989  </li>
<li>JEROME LENGYEL, EMIL PRAUN, ADAM FINKELSTEIN, HUGUES HOPPE, <a href="http://research.microsoft.com/en-us/um/people/hoppe/fur.pdf" rel="nofollow">Real-Time Fur over Arbitrary Surfaces</a>, 2000  </li>
<li>STEPHEN R. MARSCHNER, HENRIK WANN JENSEN, MIKE CAMMARANO, <a href="http://www.graphics.stanford.edu/papers/hair/hair-sg03final.pdf" rel="nofollow">Light Scattering from Human Hair Fibers</a>, 2003  </li>
<li>ARMIN BRUDERLIN, SUNIL HADAP, TAE-YONG KIM, NADIA MAGNENAT-THALMANN , ULRICH NEUMANN, YIZHOU YU, STEVE WORLEY, <a href="http://www.graphics.stanford.edu/courses/cs448-05-winter/papers/course34.pdf" rel="nofollow">Photorealistic Hair Modeling, Animation, and Rendering</a>, Siggraph 2003 Course  </li>
<li>THORSTEN SCHEUERMANN, <a href="http://bookzz.org/book/487747/b3254e" rel="nofollow">Hair Rendering and Shading</a>, ShaderX3, 2004  </li>
<li>THORSTEN SCHEUERMANN, <a href="http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairRendering.pdf" rel="nofollow">Hair Rendering and Shading</a>, ATI / GDC 2004  </li>
<li>THORSTEN SCHEUERMANN, <a href="http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairSketch.pdf" rel="nofollow">Practical Real-Time Hair Rendering and Shading</a>, ATI / Siggraph 2004  </li>
<li>THORSTEN SCHEUERMANN, <a href="http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairSketchSlides.pdf" rel="nofollow">Practical Real-Time Hair Rendering and Shading</a>, ATI / Siggraph 2004 (slides)  </li>
<li>MARTIN KOSTER, JORG HABER, HANS-PETER SEIDEL, <a href="http://resources.mpi-inf.mpg.de/FAM/publ/cgi2004.pdf" rel="nofollow">Real-Time Rendering of Human Hair using Programmable Graphics Hardware</a>, 2004  </li>
<li>HUBERT NGUYEN, WILLIAM DONNELLY, <a href="http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter23.html" rel="nofollow">Hair Animation and Rendering in the Nalu Demo</a>, GPU Gems 2 (Chapter 23), 2005  </li>
<li>LENA PETROVIC, MARK HENNE, JOHN ANDERSON, <a href="http://graphics.pixar.com/library/Hair/paper.pdf" rel="nofollow">Volumetric Methods for Simulation and Rendering of Hair</a>, Pixar 2006  </li>
<li>CHRISTOPHE HERY, RAVI RAMAMOORTHI, <a href="http://graphics.pixar.com/library/ImportanceSamplingHair/paper.pdf" rel="nofollow">Importance Sampling of Reflections from Hair Fibers</a>, Pixar 2007  </li>
<li>SARAH TARIQ, LOUIS BAVOIL, <a href="http://www.nvidia.com/object/siggraph-2008-hair.html" rel="nofollow">Real-Time Hair Rendering on the GPU</a>, Siggraph 2008. </li>
<li>ARNO ZINKE, CEM YUKSEL, ANDREAS WEBER, JOHN KEYSER, <a href="http://research.cs.tamu.edu/keyser/Papers/Siggraph08_dualscattering.pdf" rel="nofollow">Dual Scattering Approximation for Fast Multiple Scattering in Hair</a>, Siggraph 2008  </li>
<li>IMAN SADEGHI, HEATHER PRITCHETT, HENRIK WANN JENSEN, RASMUS TAMSTORF, <a href="http://graphics.ucsd.edu/~henrik/papers/artist_hair.pdf" rel="nofollow">An Artist Friendly Hair Shading System</a>, 2010  </li>
<li>EUGENE D’EON, GUILLAUME FRANCOIS, MARTIN HILL, JOE LETTERI, JEAN-MARIE AUBRY, <a href="http://www.eugenedeon.com/project/an-energy-conserving-hair-reflectance-model/" rel="nofollow">An Energy-Conserving Hair Reflectance Model</a>, 2011  </li>
<li>XUAN YU, JASON C. YANG, JUSTIN HENSLEY, TAKAHIRO HARADA, JINGYI YU, <a href="http://www.eecis.udel.edu/~xyu/publications/frameworkhair124.pdf" rel="nofollow">A Framework for Rendering Complex Scattering Effects on Hair</a>, 2012  </li>
<li>JIAWEI OU, FENG XIE, PARASHAR KRISHNAMACHARI, FABIO PELLACINI, <a href="http://pellacini.di.uniroma1.it/publications/ishair12/ishair12-paper.pdf" rel="nofollow">ISHair: Importance Sampling for Hair Scattering</a>, 2012  </li>
<li>SARAH INVERNIZZI, <a href="http://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc13/07/MSc_thesis_On_physically_based_hair_rendering.pdf" rel="nofollow">On Physically Based Hair Rendering</a>, 2013  </li>
<li>WOLFGANG ENGEL, <a href="http://www.slideshare.net/WolfgangEngel/hair-intombraider-final" rel="nofollow">Hair Rendering in Tomb Raider</a>, 2013  </li>
<li>EUGENE D’EON, STEVE MARSCHNER, JOHANNES HANIKA, <a href="https://cg.ivd.kit.edu/publications/pubhanika/2013_hairbrief.pdf" rel="nofollow">Importance Sampling for Physically-Based Hair Fiber Models</a>, 2013  </li>
<li>TIMOTHY MARTIN, WOLFGANG ENGEL, NICOLAS THIBIEROZ, JASON YANG, AND JASON LACROIX, <a href="http://bookzz.org/book/2373940/c298ee" rel="nofollow">TressFX: Advanced Real-Time Hair Rendering</a>, GPU Pro 5, 2015  </li>
<li>LEONID PEKELIS, CHRISTOPHE HERY, RYUSUKE VILLEMIN, JUNYI LING, <a href="http://graphics.pixar.com/library/DataDrivenHairScattering/paper.pdf" rel="nofollow">A Data-Driven Light Scattering Model for Hair</a>, Pixar 2015  </li>
</ol>

<p>I did not read all of these material yet, but here is a little of what I remember (I am more interested by the real-time solutions) :</p>

<ul>
<li>Kajiya-kay laid the basis for realistic hair / fur rendering  </li>
<li>Marschner proposed an improved model, and noted that hair has two distinct specular highlights (one white due to direct reflection, the other colored and sparkling due to reflection inside of the hair fiber)  </li>
<li>Scheuermann proposed approximations to simulate the behaviour described by Marschner, approximations suited for real-time (using tricks such as two separate specular highlights, artist-designed specular offset and exponent, noise textures). He also proposed using three rendering passes (opaque, transparent back and front) of polygons to simulate the "volumetric" qualities of hair  </li>
<li>Most of the games I heard of seem to use Scheuermann approaches for hair shading. However, this is not an energy-conserving solution. Nevertheless, I think d'Eon attempts to fix this problem in the 2011 paper.<br>
An other topic of interest is the use of tessellation, that has also been used recently to replace the polygonal approach and simulate hair strands individually.     </li>
</ul>

<p>The offline rendering world attempts to solve more advanced challenges. I think most of them are described in the references above.  </p>

CC BY-SA 3.0
2015-08-10T01:11:41.027Z
2015-08-14T22:40:35.007Z
2015-08-14T22:40:35.007Z
wip
<p>It is common knowledge that hair simulation and rendering is particularly challenging and in fact rare are the examples in games that propose believable hairs. It is pretty easy to imagine how hard it is to actually simulate the high amount of fibres and to simulate the various scattering events that may happen between so many strands, let alone the fact that each of them is translucent. </p>

<p>Can someone formalize what are the main challenges in hair rendering, especially for real time scenarios? How these are overcome by state-of-art techniques? Are there some de-facto standard theoretical models used? </p>

<p>To clarify, for real time I don't necessarily mean in a game context. </p>

<shading><real-time>
How does state of the art real time hair rendering work?
cifz
# How does state of the art real time hair rendering work?

(Asked by: username_0 on 2015-08-09)

It is common knowledge that hair simulation and rendering is particularly challenging and in fact rare are the examples in games that propose believable hairs. It is pretty easy to imagine how hard it is to actually simulate the high amount of fibres and to simulate the various scattering events that may happen between so many strands, let alone the fact that each of them is translucent.

Can someone formalize what are the main challenges in hair rendering, especially for real time scenarios? How these are overcome by state-of-art techniques? Are there some de-facto standard theoretical models used?

To clarify, for real time I don't necessarily mean in a game context.

**Tags:** shading, real-time


---

## 1 answers

### Answer by username_1 on 2015-08-10. Score: 7

*Sorry for the bad quality of my answer. I do not have access to a computer currently and editing from my phone is not a straightforward task. In particular I would love to be able to paste images.*

I would say that the main challenges of simulating hair are:

* replicating their very specific reaction to lighting (as a material)
* replicating their volumetric property (as a geometry)
* animating them in a realistic manner

---

Here is a list of references I gathered on the subject, ordered chronologically *(mainly about the rendering part)*:

1. JAMES T. KAJIYA, TIMOTHY L. KAY, [Rendering Fur With Three Dimensional Textures](https://www.cs.drexel.edu/~david/Classes/CS586/Papers/p271-kajiya.pdf), 1989
2. JEROME LENGYEL, EMIL PRAUN, ADAM FINKELSTEIN, HUGUES HOPPE, [Real-Time Fur over Arbitrary Surfaces](http://research.microsoft.com/en-us/um/people/hoppe/fur.pdf), 2000
3. STEPHEN R. MARSCHNER, HENRIK WANN JENSEN, MIKE CAMMARANO, [Light Scattering from Human Hair Fibers](http://www.graphics.stanford.edu/papers/hair/hair-sg03final.pdf), 2003
4. ARMIN BRUDERLIN, SUNIL HADAP, TAE-YONG KIM, NADIA MAGNENAT-THALMANN , ULRICH NEUMANN, YIZHOU YU, STEVE WORLEY, [Photorealistic Hair Modeling, Animation, and Rendering](http://www.graphics.stanford.edu/courses/cs448-05-winter/papers/course34.pdf), Siggraph 2003 Course
5. THORSTEN SCHEUERMANN, [Hair Rendering and Shading](http://bookzz.org/book/487747/b3254e), ShaderX3, 2004
6. THORSTEN SCHEUERMANN, [Hair Rendering and Shading](http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairRendering.pdf), ATI / GDC 2004
7. THORSTEN SCHEUERMANN, [Practical Real-Time Hair Rendering and Shading](http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairSketch.pdf), ATI / Siggraph 2004
8. THORSTEN SCHEUERMANN, [Practical Real-Time Hair Rendering and Shading](http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Scheuermann_HairSketchSlides.pdf), ATI / Siggraph 2004 (slides)
9. MARTIN KOSTER, JORG HABER, HANS-PETER SEIDEL, [Real-Time Rendering of Human Hair using Programmable Graphics Hardware](http://resources.mpi-inf.mpg.de/FAM/publ/cgi2004.pdf), 2004
10. HUBERT NGUYEN, WILLIAM DONNELLY, [Hair Animation and Rendering in the Nalu Demo](http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter23.html), GPU Gems 2 (Chapter 23), 2005
11. LENA PETROVIC, MARK HENNE, JOHN ANDERSON, [Volumetric Methods for Simulation and Rendering of Hair](http://graphics.pixar.com/library/Hair/paper.pdf), Pixar 2006
12. CHRISTOPHE HERY, RAVI RAMAMOORTHI, [Importance Sampling of Reflections from Hair Fibers](http://graphics.pixar.com/library/ImportanceSamplingHair/paper.pdf), Pixar 2007
13. SARAH TARIQ, LOUIS BAVOIL, [Real-Time Hair Rendering on the GPU](http://www.nvidia.com/object/siggraph-2008-hair.html), Siggraph 2008.
14. ARNO ZINKE, CEM YUKSEL, ANDREAS WEBER, JOHN KEYSER, [Dual Scattering Approximation for Fast Multiple Scattering in Hair](http://research.cs.tamu.edu/keyser/Papers/Siggraph08_dualscattering.pdf), Siggraph 2008
15. IMAN SADEGHI, HEATHER PRITCHETT, HENRIK WANN JENSEN, RASMUS TAMSTORF, [An Artist Friendly Hair Shading System](http://graphics.ucsd.edu/~henrik/papers/artist_hair.pdf), 2010
16. EUGENE D’EON, GUILLAUME FRANCOIS, MARTIN HILL, JOE LETTERI, JEAN-MARIE AUBRY, [An Energy-Conserving Hair Reflectance Model](http://www.eugenedeon.com/project/an-energy-conserving-hair-reflectance-model/), 2011
17. XUAN YU, JASON C. YANG, JUSTIN HENSLEY, TAKAHIRO HARADA, JINGYI YU, [A Framework for Rendering Complex Scattering Effects on Hair](http://www.eecis.udel.edu/~xyu/publications/frameworkhair124.pdf), 2012
18. JIAWEI OU, FENG XIE, PARASHAR KRISHNAMACHARI, FABIO PELLACINI, [ISHair: Importance Sampling for Hair Scattering](http://pellacini.di.uniroma1.it/publications/ishair12/ishair12-paper.pdf), 2012
19. SARAH INVERNIZZI, [On Physically Based Hair Rendering](http://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc13/07/MSc_thesis_On_physically_based_hair_rendering.pdf), 2013
20. WOLFGANG ENGEL, [Hair Rendering in Tomb Raider](http://www.slideshare.net/WolfgangEngel/hair-intombraider-final), 2013
21. EUGENE D’EON, STEVE MARSCHNER, JOHANNES HANIKA, [Importance Sampling for Physically-Based Hair Fiber Models](https://cg.ivd.kit.edu/publications/pubhanika/2013_hairbrief.pdf), 2013
22. TIMOTHY MARTIN, WOLFGANG ENGEL, NICOLAS THIBIEROZ, JASON YANG, AND JASON LACROIX, [TressFX: Advanced Real-Time Hair Rendering](http://bookzz.org/book/2373940/c298ee), GPU Pro 5, 2015
23. LEONID PEKELIS, CHRISTOPHE HERY, RYUSUKE VILLEMIN, JUNYI LING, [A Data-Driven Light Scattering Model for Hair](http://graphics.pixar.com/library/DataDrivenHairScattering/paper.pdf), Pixar 2015

I did not read all of these material yet, but here is a little of what I remember (I am more interested by the real-time solutions) :

* Kajiya-kay laid the basis for realistic hair / fur rendering
* Marschner proposed an improved model, and noted that hair has two distinct specular highlights (one white due to direct reflection, the other colored and sparkling due to reflection inside of the hair fiber)
* Scheuermann proposed approximations to simulate the behaviour described by Marschner, approximations suited for real-time (using tricks such as two separate specular highlights, artist-designed specular offset and exponent, noise textures). He also proposed using three rendering passes (opaque, transparent back and front) of polygons to simulate the "volumetric" qualities of hair
* Most of the games I heard of seem to use Scheuermann approaches for hair shading. However, this is not an energy-conserving solution. Nevertheless, I think d'Eon attempts to fix this problem in the 2011 paper.  
  An other topic of interest is the use of tessellation, that has also been used recently to replace the polygonal approach and simulate hair strands individually.

The offline rendering world attempts to solve more advanced challenges. I think most of them are described in the references above.


---

