Real time rendering of Deformable Translucent Objects using GPU Splatting

sebh 101 Apr 28, 2009 at 14:00


Subsurface scattering is an important aspect developers have to take into account when rendering translucent materials like marble, wax or plastic. Several methods have been proposed by researchers to render such material for offline to real-time applications. One of them I find very interesting is the one proposed in the paper “Image Space Subsurface Scattering for Interactive Rendering of Deformable Translucent Objects” in IEEE Computer Graphic and Application. This method uses the dipole diffusion approximation model to compute the subsurface light scattering inside a 3D object. It uses a splatting approach taking advantage of the GPU.

I have implemented this method with some ideas from myself to share it with you :). For instance, I propose an optimization (lower resolution splat buffer) which require to expand the silhouette of object in texture space.

More details, high quality video, source code and executable on my website

YouTube video :

Feel free to discuss this method here :)

3 Replies

Please log in or register to post a reply.

rouncer 104 Apr 28, 2009 at 15:38

Im extremely into sss, and this is exactly what im after!
Does this algorythm support multicoloured textured objects?
Because then you could apply it to skin rendering.

I had an idea of how to get sss to work, but havent got the first project I was supposed to get done to put the scattering on, which is displacement mapping! Ive nearly got it now as I speak tho, itll only be a matter of time.

You should make a real pretty game with this! I bet the kids would love the glowing through objects.

Id like to know how this works, but I cant seem to get at the paper on your site, it looks like you have to pay to see it…

10/10! KICKASS!

sebh 101 Apr 29, 2009 at 07:57

Thank you rouncer! :)

Yes, this algorithm support textured object. In the video and my website, you can see the knight with an albedo texture containing a green belt and the green light can be seen through the knight.

It should work for skin rendering. However, you will need a lot of sample points: this method is better for highly translucent objects. Actually, for skin rendering, I would prefer d’Eon algorithm (GPUGems3).

All the details about this method are resumed on my website (I’m still proofreading the webpage because there is still some mistakes) in the case you can’t have access to the paper . Maybe you know a researcher which can give it to you? Or you can have a look on the source code I provide : the important code is in only one short cpp file.

VictoriaPucinscki 101 Jan 15, 2010 at 10:51

As a Newbie, I am always searching online for stuff that can help me. Thank you for your help.