operaguy opened this issue on May 14, 2007 · 242 posts
svdl posted Tue, 15 May 2007 at 5:41 PM
Heeeee, this thread is turning into a technical discussion! I love that.
Texture maps based on photos have their problems.
In a render, you want to be able to control diffuse and specular components of the material, and also translucency, subsurface scattering, bump/displacement etc. etc. The trouble is that some of these components are independent of the direction of the lights (diffuse, displacement), and some of them are highly dependent on the direction of the lights (specular, SSS), some of them are also dependent on other objects in the scene (reflection/refraction). ANd a texture map based on a photo incorporates all those components in a single image.
Which means that a photo base texture that has not been manipulated is only truly realistic when the lighting conditions and other objects in the 3D scene match the lighting conditions and other objects of the setting where the photo was taken.
To separate the different components of the material, so that the texture map can be used in other (3D) settings, the photo must be edited, which is an art and craft all by itself.
A Poser-based example: many hair textures have baked-in highligts. Which makes creating realistic renders virtually impossible - the highlights almost never match the lighting in the scene. Reflection maps on corneas and eyes have the same problem.
And then there's memory. Texture maps take up lots of memory, procedural shaders use far, far less.
For human skin it should be possible to take a fairly low resolution grayscale texture map, and use that map to drive several procedural shaders for diffuse, specular, bump/displacement, SSS etcetera. While not perfectly realistic, it could be a very good approximation that doesn't consume tons of memory.
Damn real life. I just can't find the time to experiment and build such a shader!
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter