The Day Has Come

In this important moment of my life, the day has come to end my skin research in order to take a new professional direction.

These last months I’ve learned a very important lesson: efforts towards rendering ultra realistic skin are futile if they are not coupled with HDR, high quality bloom, depth of field, film grain, tone mapping, ultra high quality models, parametrization maps, high quality shadow maps and a high quality antialiasing solution. If you fail on any of them, the illusion of looking at a real human will be broken. Specially on close-ups at 1080p, that is where the real skin rendering challenge is.

As some subtleties (like the film grain) are lost on the online version, I encourage to download the original blu-ray quality version below, to better appreciate the details and effects rendered (but be aware that you will need a powerful computer to play it). Please note that everything is rendered in real-time; in fact, you can also download a precompiled version of the demo (see below), which shows the shot sequence of the movie, from its beginning to its ending. The whole demo runs between 80 and 160 FPS, with an average of 112.5 FPS on my GeForce GTX 580. But it can be run in weaker configurations by using more modest settings.

The main idea behind the new separable SSS approach is that you can get very similar results to the full 12-pass approach ([Eon07]) by just using a regular two-pass setup. It can be done in screen space and is really really fast (you may want to see this related post). I hope to write something about this in the future. However, the source code of whole demo is readily available on GitHub.

For the demo I’ve used SMAA T2x, which does a very good job at dealing with shader aliasing while avoiding pre-resolve tone mapping. The demo shows the average/minimum/maximum frame rate after running the intro, which hopefully will make it useful for benchmarking GPU cards.

I think there is still a lot work to do. Probably the most important one will be rendering realistic facial hair. It will be my dream if my skin research helps to improve the rendering of humans in games; I truly believe that more realistic characters will inevitably lead to deeper storytelling, and more emotionally-driven games.

Links:

  • Precompiled demo [47.7 MB]: Download Torrent — Hit space to skip the intro, and go to the interactive part
  • Source code: GitHub
  • Blu-ray quality movie [693 MB]: Vimeo Mirror Download Torrent — On Vimeo, search for “Download this video”

The 3D head scan used for this demo was obtained from Infinite-Realities. Special thanks to them!

  1. Michael Tkachuk:

    Awesome work! Anyways there are some SSS imperfections that can be noticed behind the ears. Everything else is far beyond any expectations.

  2. Pingback: Anonymous

  3. If only all research was so inspiring.

    Thank you for your great work.

    John

  4. Emil Ernerfeldt:

    Nicely done! But is there any change of an interactive binary where one could move the camera, light sources etc?

  5. Jorge Jimenez:

    Thanks all for the comments!

    @Emil, you can download the precompiled demo; after the initial sequence the demo is interactive (you can hit space to skip the intro).

  6. Pingback: Separable Subsurface Scattering - リアルタイム向けの新しい分離型SSS!肌の表現もどんどん進化! - 3D人 -3dnchu- 毎日更新3DCGニュースサイト

  7. Pingback: State of the art in real-time realistic skin rendering | Light is beautiful

  8. Congrats! Your research shows lots of hard work. Keep it up! :D

    Enhorabuena! :D

  9. Hey! Enhorabuena!

    Impresionante, después de ver el video he estado jugando un poco con la aplicación con mis compañeros en el estudio, sigue asi y ánimo!

  10. Yo de computer graphics sé bastante poco me temo ;) pero la demo es increíble… acabo de probarla. Enhorabuena por el trabajo!

  11. Wow! Great Job!
    Definitely this research can change the appearance of CGI characters in movie industry.
    Congrats!

    Lucas
    Brasil

  12. Pingback: Subsurface Scattering in Echtzeit ? «

  13. Pingback: Recent 3D Animation Posts February 3, 2012 « Finding The Best 3D Animation Software « Software « Computers / Internet « 3D Animation Software

  14. DeUnde:

    What a great work!

    What’s the name of the music?

    Congratulations!

  15. After watching this video, just i said woowwww.. awesome work Mr.Jorge…
    excellent work and your presentation, now i need to know why you didn’t put eye lid? and how long you take to finish this work…

  16. Jorge Jimenez:

    Thanks again for the comments!

    DeUnde, it’s “The All Spark” from the “Transformers: The Score” soundtrack, composed by Steve Jablonsky.

    Rajesh, I was so focused on the skin that I didn’t bother with the eyelids. But yes, a lot of people noticed this problem! I’ll try to fix it and reupload the movie when I manage to get some free time. I’ve been researching skin for 4 years; this work only covers a part of it really.

  17. greg:

    A possible correction :
    When you say you really need all those effects (bloom, blur and grain) to get a realistic skin, I guess it would be more correct to say that you still need those in order to hide imperfections in the current real time implementation, wouldn’t it be ?

  18. Pingback: Realistisches Echtzeit-Rendering von menschlicher Haut (Separable Subsurface Scattering) | Mediengestalter.cc

  19. Pingback: La piel en alta definición - La Isla Buscada

  20. Pingback: Teknologeek.com » Separable Subsurface Scattering: Rendereo de Piel en HD en Tiempo Real

  21. Jorge Jimenez:

    Actually, all those things hide unrealistic perfections. So using them is not cheating. Quite the contrary, in real life, all those things are very present, because we see the real world through imperfect hardware (and that includes our eyes). Bloom and blur occur whether you like it or not, since all imaging systems (from the most advanced camera to our eyes) are imperfect. For instance, they all have a point spread function that defines the degree (and shape) of the blur; ideally, the response to a point input would be a point in the sensor, but that is never the case, it’s more like a small circle (the smaller the sharper the image); if too much energy saturates one area of the sensor locally, this energy will bleed and spread to contiguous parts (bloom). The light needs to go through some atmosphere (scattering, meaning blur), and then when it enters the eye there’s all this liquid inside (more scattering, blur, bloom)… A standard CG image is too perfect by definition: none of these effects are modeled by default! So when you look at a CG image, it is usually too sharp, too clean, too perfect, exactly how it would be in a world without atmosphere as seen through perfect optical systems…

  22. Pingback: ‘Separable Subsurface Scattering’ shows off jaw-dropping character detail in real-time | DSOGaming | The Dark Side Of Gaming

  23. Pingback: Spot The Difference: Perfecting CG Skin | Rock, Paper, Shotgun

  24. Miguel:

    Realmente impresionante, tanto por calidad como por lo barato que resulta en cuanto a consumo de recursos. Enhorabuena!
    Y gracias, ya que imagino que tarde o temprano acabaremos por ver esto implementado en futuros juegos.

    Tras ver el video y probar la demo me gustaría saber, si tienes a bien responderme, cuántos tris tiene el modelo y si, además del diffuse y el normal, utilizas algún mapa adicional.

  25. edwardh:

    dude! it’s “Blu-ray”! jeez…

    (otherwise… awesome work, obviously…)

  26. edwardh:

    i discovered some sort of issue. i called the file “normalsissue” but since the lines only run in one direction, i’m actually not sure about that. at any rate… in case you want to improve your code, here’s the screenshot:

    http://img706.imageshack.us/img706/2169/normalsissue.jpg

  27. xtib:

    Really unbelievable.. Do u work with dev teams ?? The level of details is truely jawdropping, congrats, u’re really talented

  28. Jorge Jimenez:

    Miguel, we use diffuse, normal, SSS, ambient occlusion, specular intensity, specular roughness and specular fresnel maps. The SSS map just controls the SSS strength (removing it on stubble and eyebrows for example).

    edwardh, good catch, thanks! The normal issue is a shadow bias problem. The shadow quality of the demo is not that good to be honest; unfortunately, I didn’t had time to implement a truly high quality approach.

    xtib, our dev team is actually Diego and me :-) (the model was obtained from Infinite Realities).

    Thanks all for the encouraging comments!

  29. Alfredo Gracia:

    Felicitaciones!!. La verdad que es impresionante la calidad de la piel!!.

    Creo que si al final del video la cabeza abría los ojos me moría!!. jaja.

    Un saludo y abrazo grande desde Argentina, y gracias por este avance y la dedicación.

    Les deseo lo mejor
    Alfredo Gracia.

  30. Adam:

    First of all, I’d like to say that SSSS and your demo has blown my mind, it is incredible.

    But, all is not well. I tried to download and run the pre-compiled demo but it is apparently not a valid win32 program..? Is it just the fact i’m running 64bit windows? I would love to be able to see how my machine runs this level of fidelity!

  31. Pingback: The Video Games Of The Future Could Look This Awesome | Kotaku Australia

  32. Impressive demo!
    I only wonder why there are some areas with a green dominant, expecially the ears which should be more red because of their thin surface and their natural diffuse color.

  33. Jack:

    I’m trying to run the demo, and Windows keeps telling me that it’s not a “valid Win32 application”. Why would it throw this error? I’m running Win7 x64 with fully updated DX11…

  34. Pingback: [Benchmark] Try this! - www.hardwarezone.com.sg

  35. Kim:

    Can you upload the file as torrent? It takes so much time to direct download this from your website.

  36. dani:

    Espectacular!! Me he quedado de piedra al ver el avance que habéis logrado (y encima españoles, para que luego digan que no hay genios en este país).
    Yo, que tengo una edad y he visto evolucionar el mundo de la informático y los videojuegos desde el pong, pensaba que habíamos llegado a una cota de calidad bastante alta; pero tu trabajo demuestra que has saltado en el tiempo y has visto el futuro ;)
    Gracias

  37. David P:

    Inspiring work, Jorge.

    What’s the poly count for the head in the demo?

    What resolution textures are you using?

    Thanks!

  38. manuel:

    hola jorge se ve impresionante la calidad de la piel,pero la textura de la espalda la suavizaria un poco.

    saludos

  39. Pingback: Realistische Gesichter dank Separable Subsurface Scattering: Beeindruckende … | Binzl Online

  40. Jorge Jimenez:

    Adam and Jack: there seems to be a problem with our server, please try the torrent in the links section.

    Kim, thanks for the suggestion!

    David, the triangle count is 70K and the resolution of the textures 4K x 4K.

    And thanks all again for the comments!

  41. new:

    this is awesome!!!

  42. Javier:

    I remember the Nvidia Head demo so before watching yours I was like, “Uh another head copycat”, but my god I downloaded the Nvidia one to compare and the difference its vast, the Nvidia one seem to waxy and shadows look really harsh compared to yours.

    It must have been a lot of work, so I´m putting my 2 cents by sharing it, keep the great work.

  43. DrBalthar:

    Glad you are done now maybe you can move to something more interesting!

  44. Pingback: Non-Blender: Open Source Real Time SSS Shader | BlenderNation

  45. jorge:

    oyeeeeeeeeeeeeeeeeee eso esta impresionante a menos que no seas un ingeniero como tu no se nota diferencia alguna entre fantasia y realidad sigue adelante espero ver tu trabajo en una Futura consola de juego Xbox.

  46. Pingback: The Future Video Game Graphics | James Sparkes

  47. Jbisono:

    Well done….

  48. Jorge:

    Impresionante la demo!

    Hola, soy Jorge Gascón, de la URJC, he hablado contigo personalmente en algunos congresos (especialmente en el CEIG) ¿Qué tal todo?

    Dices que vas a hacer un cambio profesional ¿terminaste entonces el doctorado o simplemente lo dejas? Suerte entonces!!

  49. Pingback: TrollGamers - Cada día (des)informandote sobre VideoJuegos

  50. Shimp:

    @Jack: same here with the direct download. Torrent version worked well.

    I am interested if this is possible with OpenGL for Linux MacOSX, too?

  51. Javo de BsAs:

    Felicitaciones amigo, muy buen trabajo!!!

  52. bigzaqui:

    Holy crap! the future is here!, incredible work :)

  53. I must say that I’ve never been so excited and so impressed by seeing anything involving graphical design until today.
    Man, you are a God. I really hope the best for you, keep working on it, people will see this and comprehend the value of your talent. Sorry for the poor English, i’m from Brazil.
    Wish you my best, att, a fan.

  54. Pingback: Teknologi Grafik Game Masa Depan Merender Wajah Manusia [Video] | Kisah Unik

  55. Jorge Jimenez:

    Jorge, me alegro de hablar contigo de nuevo, aunque sea por aquí! Llevo idea de terminarlo, sí :-)

    Shimp, yes the code is abstracted from the API. You can take a look into it here!
    https://github.com/iryoku/separable-sss/blob/master/SeparableSSS.h

  56. Absolutely riveting. Superb, evolutionary work! Thank you for bringing this to the world. Any idea on when the major game companies might start implementing your algorithm good sir?

    deepest respect
    Tokyo

  57. Jorge Jimenez:

    Eric, some companies are already using it. I think we will see games with this technology very soon!

  58. Here’s my reservation.

    The uncanny valley exists because of the cognitive dissonance between renders of humans LOOKING real but ACTING unreal. This will exacerbate the problem, as it will raise the bar on the level of animation work that is needed to keep up.

    Meaning no disrespect to your stellar work here, solving these kinds of technical problems is only half the battle, and I don’t hear a lot of people talking about how to make it easier for animators to create highly realistic animations efficiently, how to reduce game footprints etc.

  59. Jorge Jimenez:

    Tim, totally agreed; just opening the eyes would another battle to fight!

    But I think we will be able overcome them =)

  60. There are very few times you witness such a leap towards photo realistic rendering.

    I wouldn’t be surprised if I saw this in the next release of the most popular game engines.

    Thanks for sharing your research,
    Kudos to you

    M.A

  61. Dimiter "malkia" Stanev:

    Awesome work!

    It seems that the executable is compressed with UPX 3.04, and can’t run on 64-bit Windows (Haven’t tried Windows XP mode, might work there). And “upx -d file.exe” does not work either (cygwin’s upx 3.07).

  62. George:

    So when can we shoot that head to bits in the latest videogame??!
    Such usefull work..

  63. This is beyond any expectations. All i can do is to say THANK YOU for your great effort and making it so open for case study. Truly incredible piece of work. Chapeau bas!

  64. Francisco Castro:

    Wow, trully amazing!
    It worked really well on HP dv6-6190sp with AMD Radeon 6770 2GB DDR5

  65. Francisco Castro:

    … and with Windows 7 Home Premium 64bit

  66. Pingback: Open Source Real Time SSS Shader, Rendering pelle umana realistica | GraphicVision Blog

  67. Pingback: Open Source Real Time SSS Shader « BlenderWorkshop

  68. Congratulations, well done! Far beyond than I could expect.

    Hope to see your work in action on some game soon!

  69. Pingback: Can’t Describe it: “Separable Subsurface Scattering” | D22 Zone

  70. Pingback: Baru dari Teknologi Grafik Game Masa Depan Merender Wajah Manusia [Video] | Bola Seksi

  71. Pingback: Jorge Jimenez祭出实时sss! | Visualbomb

  72. Pingback: SSSS - The Awesomer

  73. Pingback: Real Skin Rendering at over 100fps! | Jeremy "DayJob" Titus

  74. Pingback: Separable Subsurface Scattering – tehnologia care va transforma jocurile video in realitate (Video) | test

  75. KC:

    Well then, the day that actors (as we know them) are made obsolete grows near!

  76. Pingback: SSSS simula piel real por ordenador de forma hiper-realista

  77. Pingback: Realistically-Rendered Human Skin of the Day - TDW Geeks

  78. Pingback: Rendu Temps Réel : de la peau ultra-réaliste pour les jeux vidéos de demain | Actinnovation.com©

  79. GigaBuu:

    Really, really cool work. You have earned the right to be proud. Flaunt your labors and keep at it.

    If I owned a videogame developer or publisher, I’d hire you.

  80. Pingback: Programmer nails real-time rendering of ultra-realistic human skin | The Computer Hardware Site

  81. Pingback: Most Realistic 3D Skin Rendering | High T3ch

  82. Pingback: Itin tikroviška atvaizduojama oda[video] · Radiocool.lt

  83. Dragos Bogdan:

    incredible

  84. Pingback: A fost inventata pielea artificiala. Realitatea virtuala face un nou pas in viitor | Gadget Report

  85. Pingback: Programmer creates rendering of ultra-realistic human skin | How's Your Robot?

  86. Pingback: Simulación ultra realista de la piel humana

  87. THANKS!:

    Really really very very impressive — those four years paid off big time!

    Especially the part under the jaw, with the facial hair being imperfectly shaven, as happens realistically, came out really great. The skin on his back, however, wasn’t smooth enough for me to accept it as real — it should have been less “goose-bumby”, I would say. But that doesn’t take anything away from the excellence of your work. Great job!

  88. Pingback: Simulación ultra realista de la piel humana | Matuk.com

  89. pontiaco:

    Genial! No tengo palabras! Siéntete muy orgulloso de tu equipo de trabajo y de tu persona!
    Estas cosas deberían salir en las noticias mas a menudo y así tendríamos mejor imagen de nosotros mismos como país.

    Felicitaciones!

  90. Pingback: Old stories, new stories « Patricia Daukantas, Science Writer/Editor

  91. hzr:

    This is the most impressive thing I have ever seen on the net. I am rendering in V-Ray also trying to come up with realistic looking skin, well sort of. But what you achieved here, in a REALTIME environment is just amazing.

    The future in that department looks bright, very very bright :)

  92. Pingback: News and Study – 人間の目では区別できない水準の表現がCGで可能に « SAND STORM

  93. nanicoar:

    Average 165 FPS on my Radeon 7970. >:3

    Would it be possible to see the normal map of the eyebrows? It’s like, the human version of fur.

  94. nanicoar:

    ACK! 140FPS since I didn’t run the demo to the end the first time. >_>

  95. Pingback: » A fost inventata pielea artificiala. Realitatea virtuala face un nou pas in viitor

  96. maria pilar:

    jorge nos ha encantado tu trabajo .Es impresionante.

  97. Bron:

    Quite impressive! God help us if the porn industry gets hold of this tech.

  98. Alejandro Lara:

    Sorprendete! He visto el demo y me ha dejado con la boca abierta, felicidades por este enorme éxito y espero que sigan con más ánimos para poder renderar modelos completos!!

    Saludos desde México

  99. Pingback: That Computer Show » That Computer Show Episode 200

  100. David from Buffalo:

    Umm wow friggin cool. Can’t wait to see this on my Xbox Next.

  101. Thanks you very much for this work and I cannot wait to see some games using this new approach.

    Knowing your connection to Crytek I can imagine this and SMAA in the next release of cryengine 3. I cannot wait.

    Also, you guys are quite talented individuals. This looks more realistic than that in most movies.

  102. Pingback: “Separable Subsurface Scattering (Real Time)” by Jorge Jimenez « Truong's blog

  103. Pingback: SSSS - Separable SubSurface Scattering

  104. Pingback: vSpecialist » Why I Do IT…

  105. Pingback: render realistic skin « Truong's blog

  106. edwardh:

    @ Jorge:

    thanks for actually answering, it’s nice to see that you take the time to answer feedback, especially with the phd and stuff (very time-consuming, i would imagine) :)
    i sure hope this kind of awesome work will be widely recognized and rewarded :)

  107. edwardh:

    i only just read the end of your post though…
    “I truly believe that more realistic characters will inevitably lead to deeper storytelling, and more emotionally-driven games.”

    i admire your optimism… well… maybe just a bit ;)
    to quote “idiocracy”: “people wrote books and movies. movies that had stories, so you cared whose ass it was and why it was farting.”
    what is the ability of deep storytelling worth when there is no demand for it? or… when those emotions that game developers appeal to are just greed, prejudice, (national) pride, fear and rage?
    when i look at public “discourse” (not sure i would call the primitive ramblings on youtube and various comment sections on various websites “discourse”) and what sells well, it really seems like a race to the bottom to me.

  108. Pingback: Φωτορεαλιστικό δέρμα στο μέλλον των video games; | Game 2.0

  109. VCsekhar Parepalli:

    Awesome rendering. A Great piece of work. Next big challenge – to breathe surrealistic-life into the animated-characters. This is incredible, Jorge.

  110. TeZ:

    Renders really nice on my i7-920 with Ati 4870×2 graphics card. Impressive stuff…

  111. Randall Jones:

    Wow.. I downloaded the demo and the intro made me believe I was watching a video it wasn’t until it was in the interactive mode that I realized it was being rendered in real time. Reminds me of the nvidia “human head” demo.. but this is by far much more realistic! I was surprised it actually will run at 50+ fps on this old machine of mine. Great work!

  112. Buenísimo!, gracias pro tu trabajo y tu talento!. Es impresionante y más viendo que eres diseñador, motioner y encima ingeniero!, vaya crack!. Todo un cerebro!.

    Saludos desde Barna City!

  113. Pingback: Psyop - Real Time Separable Subsurface Scattering

  114. Pingback: Separable Subsurface Scattering | La hiperrealidad en la piel |

  115. Jorge Jimenez:

    Thanks all for the nice comments!

  116. Pingback: Separable Subsurface Scattering (Real Time) « Bluepants blog

  117. Pingback: AMD HD5xxx, 6xxx and 7xxx 3D demo! - www.hardwarezone.com.sg

  118. Louis:

    Really good, but started to lag a bit with 10+ heads. This is 100% a next gen technique

  119. dario colombo:

    i’m impressed by your work.excellent.what ìs going to be your next project?

  120. Chris:

    What is the name of the music? :-/ …

  121. Jorge Jimenez:

    It’s “The All Spark” from the “Transformers: The Score” soundtrack.

  122. Pingback: Epic Games: Unreal Engine 4 noch besser als Samaritan Demo - die sei Mist - Seite 3

  123. Wow this is amazing, Good job!

  124. Pingback: Blokwise » La hiperrealidad en la piel | Separable Subsurface Scattering (SSS)

  125. Hey Jorge,
    Very nice work and congrats on your accomplishments.
    Wish you the best of success.
    Azeem

  126. Pingback: Realistic Human Skin Demo - SLUniverse Forums

  127. Pingback: Separable Subsurface Scattering

  128. Jeffrey:

    Wow, looks stunning! I had no idea we were this close to being able to render so life-like. Good luck with this.

  129. Pingback: Amazing Seperable Subsurface Scattering | developer's delight

  130. Álan de Carvalho Passos - BR:

    Awesome! I imagine that you created a face of a man because your objective was to create the digital human skin. Now, if I were you, would use a face of a woman to try to create a engine to render her hair! That way I believe your work will be practically done! Sorry my english! I hope I’ve help you!

  131. copyNinja:

    Really amazing stuff,
    I like your philosophy/Approach towards achieving realism in real-time graphics.I feel the game industry especially is in drastic need of such thinking. I agree that game characters lack “emotion” and focusing on that will evolve games into a more immersive experience…. good to know there are great minds out there in gamedev…
    Best of luck and hope to see lots more of your work,
    im sure it will be epic
    The future is near..

  132. Pingback: Seperable SSS | Animasyon Gastesi

  133. Jorge.
    Simply amazing work. Thank you for making the exe downloadable. I will use it during my masterclass at an upcoming film festival. The topic is “merging CG with Reality in Film-making”

    Although the workshop is more geared towards advanced stereoscopic 3D film production (Hybrid cameras, Virtual S3D cinematography etc)… realism is when CG with, (and i
    m paraphrasing you)…”everyday imperfections” is what will make the Uncanny-Valley feeling disappear in tomorrows CG/Hybrid films.

    Thanks again for sharing your work. I will of-course mention your site and name during the workshop

    Regards
    Clyde

  134. addendum…

    OMG! No wonder. You were touched by the Amiga too :) I just read your About me.

    **sigh** only the Amiga makes it possible… (it created the truly talented souls out there)

  135. Jorge Jimenez:

    Thanks Clyde, that’s great to hear!

    Amiga touched my soul when I was just a kid.

  136. Pingback: Reading list on skin rendering | Light is beautiful

  137. Pingback: A fost inventata pielea artificiala. Realitatea virtuala face un nou pas in viitor | Petreus Dan – Blog Personal

  138. Pingback: Realtime Photorealistic Human Skin rendering | Memories With Maya - The Dirrogate

  139. Pingback: Color Fundamentals: Advanced Coloring : My Creative Directory

  140. Pingback: Color Fundamentals: Advanced Coloring | Tech Tips

  141. Pingback: SSSS simula piel real por ordenador de forma hiper-realista | EmaCorp News

  142. Pingback: Color Fundamentals: Advanced Coloring | Art Media Info

  143. Pingback: Separable Subsurface Scattering | Roar11.com

  144. Pingback: Realistisches Echtzeit-Rendering von menschlicher Haut (Separable Subsurface Scattering) - Mediengestalter.cc

  145. Pingback: Unity Screen Space Subsurface Scattering – Stoyan Dimitrov

  146. Pingback: Creative Technobabble