It still doesn’t have that. . . glow too it though. I wonder if you could lower the diffuce falloff on the surface to create a harder shadow edge and then bump up the ambience of the translucant color to simulate a bit of SSS?
You can play with the hardness of the shadow and shading by tweaking the plugin roughness which does a Oren-Nayar shading. Or you can play with the saturation shift/end to position the light-to-shadow transition shifts. You can also shift the hue shift relative to the saturation shift.
Playing with the ambiance is tricky because of the light terminator. The shader does not get called beyond the terminator. But I will see how far I can go in this direction.
This said, this plugin is already one year old. A user (Tony, but I can’t find his handle here)have made me aware of the works by Beeson et Bjorke (See http://downloads.gamedev.net/pdf/Fernando_ch03.pdf). I plan to implement some of their techniques in my skin shader.
The set of parameters for the shaders are attached:
Shouldn’t you have made the plugin a type of combiner instead of a shader? What if I want to show blue veigns when the light is really bright on the surface but have them less apparent when the light angle falls off? What if I want the red “glow” to be kinda. . . lumpy. Like the surface underneath has varying levels of opacity? Seems like an incident angle/gradient with a user definable light source would allow for more freedom. . .
A material (combiner and texture) have no idea of the existence of any light in a scene. It only get a 3D coordinate which is the projection of the pixel from the camera onto the surface of the object. In other words, it is the camera hit point. So a material cannot compute a color (or any other surface attribute) according to light incidence. Another thing the API with a material does is compute the model-space hit point. This is how a material does not crawl on the object surface as the object is animated.
A shader have no idea of where on the surface of the object it is located. The only thing it knows is that it’s been called and should then shade. At each pixel, it is called once for every light in the scene. It knows the surface normal, the light direction and the camera direction. That’s about it.
That’s why the lighting effects that can be achieved with a shader cannot be duplicated with materials and vice-versa.
No. Actually, we don’t have a combiner plugin API in the SDK. We can kind of pervert the turbulence plugin to do a combiner job. It have the same limitations as a texture. In other words it knows nothing about the lights in a scene.
Eventually, yes, but I don’t know when. Although Fresnel transparency is mathematically not more difficult to do than Fresnel reflectivity, there are more special cases and issues to handle with transparency. So Fresnel transparency is actually more difficult to implement than Fresnel reflectivity.
Forgot after reading Weggs post about= it being possible to create a new gradient/combiner that worked with lights instead of the camera? I know you can in Messiah. . .=
This souds really really cool any chance this can be done with AM in a different way-a cheat thing or something. Or maybe a future vesion?
It can be done. But not with the SDK. That’s what I’m saying. The SDK only provides an interface for combiners/texture/turbulence is one way and for shader in another way. To do what you are suggesting would require at least the materials and the shaders to be integrated or better yet, the decals to be integrated to that too.
There are possible clever hacks. For instance. Handy Whittock used a combination of material and shader for his ‘comic’ shader where he used the specular intensity of the material to drive the shader result. But that is to the expense of not using the specularity for what it is designed for and that works for extremely special cases. Your vein example would be difficult to do because it would require a texture plugin which would be too general and versatile. The ‘Comic’ texture/shader combination works because the texture that goes with it is specificaly designed to encode some specific dot patterns and nothing else.
If what you are looking for is this then this can be done already with the gradient shader. In fact, I started experimenting the skin plugin ideas with the gradient shader. With the gradient shader, the gradient is computed from the light direction instead of from the camera.
I have had ypoissants skin shader for a while and have been waiting for it to get released into the public domain so I can see what other people do with it. It certainly does the job of getting rid of the “corpse” look at the very least. I have been using it more or less as a beauty button and it has gotton onto all kinds of things such as leather shoes and anything like that.
I havn’t tried it on hair yet but it might have its uses there (allthough a gradient would probably do).
I agree that some kind of ambiance shader would be cool. I would also like to see the ability to have the bump map effect the specular more than the diffuse. But other than that I don’t have any complaints.
I think it is about time the beast was let out of the cage and Yveses hard work was appreciated.