Saturday, March 18, 2006

Skin Shader

I just updated my web site with a new FX shader for Max. This one is for skin. Here's a screen shot:

The shader simulates sub-surface scattering by rendering the diffuse lighting in UV space and then blurring it. I got the idea from the shader used in ATi's Ruby demos. This technique was also used in the second and third Matrix movies. I'm also doing some fancy stuff with normal mapping and specularity. I'm really excited about this one because I finally learned how to render into an off-screen buffer and then use that buffer as a texture for subsequent passes. This technique is useful for all sorts of things like glow, depth of field, light bloom, etc. It's really opening up a lot of new possibilities for me. I've already written several other shaders using this technique. I'll be posting them soon too if I can get the time. You can get the skin shader here:

Ben's Shader Page

Leave a comment and let me know what you think.

On another note, I'm going to GDC this year. If anyone wants to hook up with me there and talk about shaders, rigging, or just making games in general, that would be really cool. Just send me an email. I've met a lot of people on the web and it'll be nice to finally get to see some of you in person.

Finally, here are two very cool links related to normal mapping and creating next-gen game assets that I learned a lot from:

Rorshach's Cool Thread on Polycount

Quake 4 SDK Texture Tips

Enjoy them!


Anonymous Anonymous said...

Very Nice!

I look forward to playing around with this shader more when things in my life are a little less hectic (if that ever happens).

I toyed around with figuring out Render-to-texture shaders in the max viewport a little while ago myself, and was able to get a simple black and white RTT shader working, but wasn't able to figure out how to fix some of the bugs it had. I'll have to look at yours to see if it can help point me to what I did wrong :)

Keep up the good work, and enjoy GDC.

March 20, 2006 4:28 PM  
Anonymous Anonymous said...

It's really an impressive shader! I seek a shader of this type for a long since, but I have a bug which prevents me from being able to use it correctly, only the specular map and normal the map seems to be taken into account, I can't see appear the diffuse texture.
my problem :

I use 3d studio max 8 sp2, if you know a solution for my problem does not hesitate to give me an answer thx :)

(my email)

April 16, 2006 8:43 AM  

Post a Comment

<< Home