POV-Ray : Newsgroups : povray.binaries.images : POV 3.7 metals.inc; post your textures here : Re: POV 3.7 metals.inc; post your textures here Server Time
31 Jul 2024 02:26:55 EDT (-0400)
  Re: POV 3.7 metals.inc; post your textures here  
From: Ive
Date: 31 Mar 2009 09:33:51
Message: <49d21bbf@news.povray.org>
Bill Pragnell wrote:
  > These textures are all great, but they all seem to fill very 
specific needs.
> What might be nice is to also offer a set of 'bog-standard' ;-) polished,
> diffuse or otherwise finished metals which just consist of a well-chosen
> pigment colour and the standard finish/normal in question (i.e., Gold_Polished,
> Gold_Diffuse, Gold_Beaten) etc.
> 
> Does anyone know of any decent photographic reference table(s) that compare
> different metal colours? Even just jewellery metals would be a starting point.
> (I've tried searching for this before and always come up short). I know some of
> the common ones are defined in colors.inc, but to be honest most of them don't
> look like the metals they're named for, so starting afresh would be my best
> option.
> 
> I'm happy to knock up a standard set like this as long as I can find some good
> image references.
> 
> Comments?
> 

Well, what I have is some data measured with a spectrophotometer. Colors 
(converted into scRGB color space - which is just sRGB primaries but 
with a linear gamma mapping), diffuse reflection as measured together 
with some IOR for fresnel reflection.

I made some macros for them, looks like this:


...snip
//******************************************************

// some micro normals

#declare P_Micro1 = pigment {
   granite turbulence 0
   color_map {
     [0.0 rgb 0.3]
     [1.0 rgb 0.7]
   }
   scale 0.003
}


#declare P_Micro2 = pigment {
   onion turbulence 0.5
   color_map{
     [0.0  color rgb 1.00]
     [0.45 color rgb 0.99]
     [0.55 color rgb 0.96]
     [1.0  color rgb 0.95]
   }
   scale 0.01
}



#declare P_Macro1 = pigment {
   crackle turbulence 1
   color_map {
     [0.00 rgb 0.3]
     [0.01 rgb 0.3]
     [0.02 rgb 0.7]
     [1.00 rgb 0.7]
   }
   scale 0.3
}

// "micro"-normals for blurred reflection - to get some highlights
#macro P_Polish(Polish)
   pigment_pattern {
     average
     pigment_map {
       [1 P_Micro1 translate x*20]
       [1 P_Micro1 translate y*20]
       [1 P_Micro1 translate z*20]
       [1 P_Micro2 translate -x*20]
       [1 P_Micro2 translate -y*20]
       [1 P_Micro2 translate -z*20]
     }
   }
   1 - Polish
#end


// "macro"-normals for scratches and dents
#macro P_Dents(Dents)
   pigment_pattern {
     average
     pigment_map {
       [1 P_Macro1 translate y*10]
       [1 P_Macro1 translate z*10]
     }
   }
   Dents
#end


// averaged normals
#macro N_Pattern(Polish, Dents)
   normal {
     average
     normal_map {
       [1 P_Polish(Polish)]
       [1 P_Dents(Dents)]
     }
   }
#end



// MATERIAL MACROS

#macro MaterialGold(Polish, Dents)
   material {
     texture {
       pigment {rgb <0.9927, 0.6952, 0.3302>}
       N_Pattern(Polish, Dents)
       finish {
         ambient 0  diffuse 1-0.7280
         specular 0  brilliance 3
         reflection {0.0 1.0 fresnel on metallic}
         conserve_energy
       }
     }
     interior {ior 2.83}
   }
#end


#macro MaterialSilver(Polish, Dents)
   material {
     texture {
       pigment {rgb <0.9284, 0.9016, 0.8678>}
       N_Pattern(Polish, Dents)
       finish {
         ambient 0  diffuse 1-0.9001
         specular 0 brilliance 3
         reflection {0.0 1.0 fresnel on metallic}
         conserve_energy
       }
     }
     interior {ior 3.64}
   }
#end


#macro MaterialCopper(Polish, Dents)
   material {
     texture {
       pigment {rgb <0.7802, 0.2985, 0.1078>}
       N_Pattern(Polish, Dents)
       finish {
         ambient 0  diffuse 1-0.3832
         specular 0  brilliance 2.4
         reflection {0.0 1.0 fresnel on metallic}
         conserve_energy
       }
     }
     interior {ior 3.26}
   }
#end

//******************************************************
...snip


Note that I did not use any specular or phong highlights, it all depends 
    on (blurred) reflections so they work well with "radiosity-only" 
scenes or MC-Pov. But I guess to add some specular values is simple and 
the values for brilliance are just wild guesses anyway (maybe they 
should be equal to the ior, I must admit that I have no idea how POV 
computes this brilliance value).

Example images, one is MCPov with 200 passes and one is POV Beta 31 with 
conventional lighting and 128 light sources (no radiosity).

Settings are always 0.5 for "Polished" and 0.2 for "Dents".

And I have (over)used the kitchen probe once more again ;)


Post a reply to this message


Attachments:
Download 'material_test_mcpov.jpg' (62 KB) Download 'material_test_lightdome.jpg' (50 KB)

Preview of image 'material_test_mcpov.jpg'
material_test_mcpov.jpg

Preview of image 'material_test_lightdome.jpg'
material_test_lightdome.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.