|
|
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'
Preview of image 'material_test_lightdome.jpg'
|
|