| 
  | 
Warp wrote:
>Dave Matthews <mat### [at] dinecollege edu> wrote:
>> Your diagnosis "you seem to expect the #if() statement to execute when the
>> function is run" was absolutely true, and the basis for most of my
>> confusion.
>
>  All #-commands are interpreted when the function is parsed. An 'x' inside
>a #-command (such as #if) is the "parse-time x", that is the vector <1,0,0>.
>  After the function has been parsed (and byte-compiled to internal format),
>no #-commands are seen anymore. Only what was left after the #-commands
>were parsed are seen.
>  #if is a parsing-time command. select() is a function which is evaluated
>at runtime (meaning when the function is called at parse or render time).
>
>  I know, it's a bit difficult to understand and explain...
>
>plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
>sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
>density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
><1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -
>
Thanks.  That's about what I had figured out after Christopher's
explanation, but this completely clarifies it.  That also explains what
I've been reading about people attempting to create fractal functions using
'select()' --  I couldn't figure out what would be so tough about it just
using #while.... Now I'm beginning to understand (I think.)
And now I can even start using functions and isosurfaces.
Opens up a whole new world;-)
 
 Post a reply to this message 
 | 
  |