I am drawing pipes. The boss says he wants the pipe to look just like steel. I assume that he wants it really shiny. I know a little bit about materials and lights. Does anyone know some settings for making a good steel looking object?
Have you tried simple specular reflections with big coefficients? Anisotropic reflections? Cook-Torrance surface shaders? There’s some stuff to start you out with.
NVIDIA has a brushed metal shader effect on their site. Maybe you can start with that and modify it to your needs. It may be a good starting point at least.
There are different degrees of complexity and realism to doing what you want.
A low specular exponent will make something look kinda metalic in simple OpenGL lighting.
Next stage of complexity might be to environment map the pipes with a spheremap or a cube map.
The next might be to do that in conjunction with the specular exponent and add a Fresnel based alpha blend between the two passes to make the pipe reflect at low incidence of reflection and apply a lighting model at high incidence.
Next you might go for a full on vertex shader to implement arbitrary illumination models that are more realistic for metalic surfaces.
Next you’d combine the realistic model described with the earlier suggestions.
Beyond that you might want to go with a brushed metal approach which is really an anisotropic lighting model, probably not useful for pipes but good for other stuff.
wow, sounds like a lot of work…
if you just need to please the boss you can use a specular map with reflection texgen coords. looks good… take 5 minutes…
Also, you could always use some BRDF data and do a BRDF lighting model. But that’s getting pretty fancy. I’ve researched and did a little bit of BRDF work before. It’s pretty cool but the math it uses isn’t the easiest there is. I wrote a paper talking a wee bit on it for my calculus 3 class. My professor thought it was pretty cool and very interesting. Ok i’m kind of going off on a tangent here. One thing that might be cool to add once you have some kind of technique to render metal is to add some glare effects to it. Like seen in Nutty’s demo (http://opengl.nutty.org). Some sort of high dynamic range stuff would work nicely, even if it’s faked. As long as it looked good eh?