Hey guys, I just published a tutorial I wrote about materials on my blog.
http://www.manufato.com/?p=902
It's focussed on specular maps, and how you use them to truly represent the nature of real-world materials in 3D.
It's based on personal studies and it may not be accurate on many aspects. But it's as precise as I could make it.
I hope you find it useful.
Replies
I love simple tutorial with fast loading pictures. Thanks man! Good job!
CW, I would love to read something about that. If you could point me to some documentation I would really appreciate.
Thanks!
http://www.gamasutra.com/blogs/DavidRosen/20100204/4322/GammaCorrect_Lighting.php
But I think that's in fact complementary and doesn't really exclude the purpose of the tutorial. I think he is not getting into how the materials should look like, as the described technique appears to affect the intensity of the specular, but you still need to know if something should look metallic or not in order to know how it reflects light. Since this gamma correction is applied to the whole image, it would affect the skin the same way it affects the metals, and you would still need to separate them somehow... Right?
I would like to test that and see how it works.
Thanks man!
Thanks dude
Yeah I don't mean to make your great tutorial invalid in any way, it just popped up in my brain so I thought I'd mention it. It's definitely good for people to get the gist behind dielectric and conductive materials and the kinds of properties they have. Then it's just a case of doing whatever is appropriate for your engine of choice - if it needs more counter-colour to neutralise the spec then so be it!
@Virtuosic - I'm glad you found it useful
This paper actually shows the diffuse component seperated from the specular component of skin
http://gl.ict.usc.edu/Research/FaceScanning/EGSR2007_SGI_high.pdf
Here's another set of images showing reflectance of skin
http://gl.ict.usc.edu/Research/LFR/
BTW the issue is not with gamma correction to the whole screen...specifically, its the fact that textures have a gamma curve baked into them, so you have to undo that on the graphics card to get linear color, do the lighting math, then put the result back into gamma space for the monitor.
Granted skin is very complicated and has many layers of light reflection and scattering but I use it as example because A. there's a lot of research out there on it, and B. People have in the past used blue specular for skin which was fine if shader math is done incorrectly in gamma space but if the math is done correctly in linear space this is not needed.
Here is another source of information on gamma space and its relationship to game graphics
http://filmicgames.com/archives/299
I'm just making sure, but does this mean that with the current UDK all my dielectric speculars should be monochrome? To what degree does UDK correct the need for inverse tint, since you said you "do not need to rely on this technique AS HEAVILY."
Also, can't the speculars be derived in the shader by taking the diffuse and performing 1-x on it (assuming inverted colors are still needed by an engine that doesnt gamma correct specular) and maybe use some clever tricks with AO and masks for the brightness variations?
This page may also shed some light on texturing in UDK
http://udn.epicgames.com/Three/TexturingGuidelines.html