HowTo:Use macros and loops
Revision as of 22:00, 8 December 2007 by Bathurstfreak (talk | contribs)
Loops and Macros are usually created to do one set of code thousands of times. The beauty of the loop is that the code can reference an array or a spline to write a rollercoaster track or a roadway such that very complicated scenes can be created with the use of simple declared variables.
Loops
Loops may be constructed through the use of the #while statement. A typical loop may be constructed as follows.
#declare step = 0;
#declare steps = 100;
#while (step <= steps)
#sphere { step*x, 0.4 pigment {Blue} }
#declare step = step + 1;
#end
Nested loops may be created to generate a two or three dimensional aspect to the scene. Beware that creating extra nested loops will dramatically increase the parse time for the scene.
The following nested loop will draw a series of Blue balls on the XZ plain
#declare xpos = 0;
#declare zpos = 0;
#declare xfinal = 10;
#declare zfinal = 10;
#while (xpos <= xfinal)
#while (zpos <= zfinal)
#sphere { <xpos,0,zpos> 0.4 pigment {Blue} }
#declare zpos = zpos + 1;
#end
#declare xpos = xpos + 1;
#declare zpos = 0;
#end