|
![](/i/fill.gif) |
Mike Williams <nos### [at] econym demon co uk> wrote:
> Although POV defines colour functions, I'm pretty sure that you can't
> use them as render-time colours.
>
> At parse time you can pick individual colours from individual points of
> a colour function, like
>
> #declare My_Colour = Wetting(1,2,3) * (1-Factor(1,2,3).gray);
>
> You can use a render-time float function as PATTERN of a pigment, but
> you can't use render-time colour functions as the COLOUR of a pigment.
>
> So what you can do is to declare Wetting and Drying as simple pigments,
> not functions, use the float function "Factor(x,y,z).gray" as a pattern,
> and then use that pattern as a pigment_map to map two image_mapped
> pigments, like this:
>
> #declare Wetting = pigment {image_map{sys "wet.bmp"} }
> #declare Drying = pigment {image_map{sys "dry.bmp"} }
> #declare Factor = function {pigment {image_map{sys "factor.bmp"} }}
>
> plane{z,-0.00001
> pigment {
> function{Factor(x,y,z).gray}
> pigment_map {
> [0.0 Wetting]
> [1.0 Drying]
> }
> }
> }
>
> I believe that gives you the particular effect that you were trying to
> achieve. It's a lot less flexible than render type colour functions
> would be, but you don't need that flexibility in this particular case.
>
> --
> Mike Williams
> Gentleman of Leisure
wow~~,it works, firstly thks so much!
But will you pls to say something about how to use flexible colour functions
at render-time?
Post a reply to this message
|
![](/i/fill.gif) |