So, whilst I figure some stuff out in XSI, I figured I’d do a proof of concept of an idea I have for faking translucency. I did it in blender because I knew how to do it without actually having to think very much. How do you people live without an undo feature btw?
And using the same settings, but this time with cessen’s most exquisite Oren-Nayer-Blinn illumination model, renders slower, but not much.
Dotblend: Well, you definatly nailed the basics of it. See, it’s faked since it doesn’t take into account the thickness of the model. There is no volume calculation going on at all. But it looks kind of nice still because of the way the blend texture seems to go through the model in question. There are of course limitations with this method, such as the fact that it’s not accurate at all, and there is no internal shadowing going on and numerous other things. But it’s a nice hack and moreover, it’s fast. With refinement I think this technique could be quite well indeed. However, in my example I have the blend texture set to col and emit, because it then behaves like light, so the material itself doesn’t have to be shadeless, have a look:
I’m sure you can build on this idea much further, to include things such as volume textures (to break up the even distribution of ‘light’) and perhaps with some tricks even nice shadows (although I have no idea how).
Perhaps you can even write a shader for yafray that does this. I’m not aware of yafray’s shading capabilities, but that renderer sure comes along nicely and I hope for your sake that it gets integrated into blender in a not too distant future =)
Ps. I didn’t include the blend at first because I wanted you to come up with the answer to this idea yourself, as it is very easy.
Jamesk: That’s what he did wrong, he used a shadeless material. However, with shadeless off you can have specularity using the phong illumination model (I found it was easier than with blinn). You can even make it with the toon shading, allthough it’s a bit harder to get nice results but it’s not that hard =)
Well, as far as defining a volume of the material goes, I think that’s pretty much impossible without adding further code to the blender source code. But with some tricking with speculars and this method you could get kind of nice results I think.
This is WAY faster than any sss simulation I’ve tried so far, so if all you need to do is place specular highlights and do clever gradient tricks then by all means, this trick will do fine in most situations. It’s insanely fast compared to raytracing.