POV-Ray:颜料声明中的函数有什么作用?

POV-Ray: what does a function in a pigment statement do?

这个pigment语句出现在我在网上找到的一段代码中,其中depth是一个数字:

pigment{
    function{(depth+1)/3} 
    color_map{[0 rgb <0,0,0>][1/3 rgb <0,0,1>][2/3 rgb <1,0,1>][1 rgb <1,1,1>]}
}

function{(depth+1)/3} 是做什么的?据我了解,这是返回 (depth+1)/3 的常量函数。 pigment语句中这个函数的作用是什么?

好的,我现在明白了。很简单。

如果depth=1,(depth+1)/3=2/3,所以颜色图returns对应2/3的颜色,即rgb<1,0,1>.

如果depth = 2, (depth+1)/3 = 1, 所以色图returns rgb<1,1,1>.

如果depth = 0.5,(depth+1)/3 = 0.5,那么颜色图returns的颜色插值在rgb<0,0,1>(1/3)和rgb<1,0,1>( 2/3).

一张color_map是一张图,函数的值给出了这张图的"key"。