|
![](/i/fill.gif) |
I think I've got the hang of it (and I must have understood this onceuponatime),
but can someone explain why:
media{scattering{1,<0.1,0.7,0.7>*med_fact}}
tends to give red media for high values of med_fact (e.g. 0.1)
but turquoise for lower values (e.g. 0.01)?
I expected turquoise for all values.
I assume that my basic misunderstanding is that the colour defines what colours
to absorb/scatter and what colours to leave alone, so high values tend to end up
absorbing all the blue and green light, leaving only red, but I'm still a tad
confused as to why low values give turquoise.
Here is my whole test scene:
// Persistence of Vision Ray Tracer Scene Description File
// File: ?.pov
// Vers: 3.5
// Desc: Basic Scene Example
// Date: mm/dd/yy
// Auth: ?
//
#version 3.5;
#declare med_fact = 0.01;
#declare cont_rad = 30;
global_settings {
assumed_gamma 1.0
}
// ----------------------------------------
camera {
location <0.0, 0.0, -25.0>
look_at <0.0, -10.0, 0.0>
}
sky_sphere{pigment{rgb 1}}
light_source {
<0, 0, 0>
color rgb <1, 1, 1>
translate <300, 2000, -300>
}
// ----------------------------------------
#declare Sea =
sphere{
0,cont_rad
pigment{rgbt 1}
hollow
interior{
media{scattering{1, <0.1,0.7,0.7>*med_fact extinction 1}}
}
}
#declare Bed =
plane{
y, -10
pigment{rgb<0.9,0.9,0.6>}
}
#declare Wall =
difference{
sphere{0,cont_rad}
sphere{0,cont_rad - 0.01}
plane{y,-12}
plane{-y,-12}
pigment{rgb 1}
}
object{Sea}
object{Bed}
object{Wall}
--
#macro A(V,B,C,R)#while(B-256)#if(V-128/B>=0)sphere{0,.5translate<C-4R-1,9>
pigment{rgb<1-C/8R/2C/8>}}#local V=V-128/B;#end#local B=B*2;#local C=C+1;#
end#end A(234,1,0,2)A(85,1,0,1)A(81,1,0,0)light_source{-5 1}//Tom Melly
Post a reply to this message
|
![](/i/fill.gif) |