home *** CD-ROM | disk | FTP | other *** search
/ Hot Stuff 2 / hot_stuff_2.zip / hot_stuff_2 / PROGRAMS / POVRAY / POVDOC.ZIP / QUICKREF.DOC < prev    next >
Text File  |  1992-07-18  |  26KB  |  816 lines

  1.                   Persistence of Vision Raytracer
  2.                           Version 1.0 
  3.                         Quick Reference
  4.                   -------------------------------
  5.                    By Larry Tweed & Drew Wells
  6.  
  7. This document is designed as a quick reference for those already familiar
  8. with the program POV-Ray. You should use POVRAY.DOC to learn about
  9. POV-Ray and then use this document as a memory jogger or for quick syntax
  10. checks. It is not meant to replace the main documents that accompany
  11. POV-Ray.
  12.  
  13. NOTE: This document is not complete or perfectly accurate in all cases.
  14.       We judged it to be useful even with a few innacuracies and its state 
  15.       of completion. Hopefully, it will be useful to you. 
  16.       If you can't find something here or can't understand what is here,
  17.       refer to POVRAY.DOC.
  18.  
  19. Some entries have been left blank due to time constraints. A later version
  20. of this document will contain text for these entries. For now, refer to
  21. POVRAY.DOC. The list is alphabetical, with texture modifiers at the end
  22. of the list.
  23.  
  24. ---------------------------------------------------------------------------
  25.                       
  26.  
  27. bezier/bicubic patches
  28. ----------------------
  29. Syntax:
  30. Description:
  31.  
  32. blob
  33. ----
  34. Syntax: blob {
  35.           threshold #
  36.           component (strength_val) (radius_val) <component center>
  37.           component (strength_val) (radius_val) <component center>
  38.           [ any number of components ]
  39.           [sturm]
  40.         }   
  41.  
  42. Description: A blobby shape. Components radii should overlap.
  43.  
  44. bounded_by
  45. ----------
  46. Syntax: object {
  47.            ...
  48.            bounded_by {
  49.               shape {...}
  50.            }
  51.         }
  52.  
  53. Description: A bounding shape helps speed rendering time in many cases. The
  54.              bounding shape is first tested by the raytracer. If the ray
  55.              does not strike the bounding shape, the raytracer does not need
  56.              to test or calculate any of the bounded objects.
  57.  
  58. box
  59. ---
  60. Syntax: box { <x1 y1 z1> <x2 y2 z2> }
  61.  
  62. Description: A box shape is defined by specifying 2 corners. The first corner
  63.              (<x1 y1 z1> in the example above) must be smaller than the
  64.              second corner.
  65.  
  66. camera
  67. ------
  68. Syntax: camera {
  69.           location <0 0 0>
  70.           direction <0 0 1>
  71.           up <0 1 0>
  72.           right <1.33 0 0>
  73.           look_at<0 0 0>
  74.           sky <0 1 0>
  75.         }
  76.  
  77. Description: The camera defines the orientation and location in space
  78.              of the viewer. The values shown above are the default values.
  79.              If these items are not specified, the defaults will be used.
  80.  
  81. clipped_by
  82. ----------
  83. Syntax: object {
  84.           ...
  85.           clipped_by {
  86.              object {...}
  87.           }
  88.         }
  89.  
  90. Description: clipped_by will "cut off" any part of the object that is outside
  91.              the clipping shape. This should not be confused with bounded_by.
  92.  
  93. composite
  94. ---------
  95. Syntax: composite {
  96.            object1 {...}
  97.            object2 {...}
  98.         }
  99.  
  100. Description: composite will "glue together" 2 or more objects. Essentially,
  101.              the objects can then be considered as single unit.
  102.  
  103. difference
  104. ----------
  105. Syntax: object {
  106.           difference {
  107.              shape1 {...}
  108.              shape2 {...} // This will be "cut out" of shape1
  109.              shape3 {...} // This will be "cut out" of shape1
  110.              shape4 {...} // This will be "cut out" of shape1
  111.              (...)
  112.           }
  113.         }
  114.  
  115. Description: A difference is a CSG shape. All points in shape1 that are not
  116.              in shape2 will be included in the final shape. A difference
  117.              essentially subtracts the shapes following shape1 from shape1.
  118.              Any number of shapes may be used. 
  119.  
  120. direction
  121. ---------
  122. Syntax: direction <# # #>
  123.  
  124. Description: The direction vector is used in the camera block and specifies
  125.              the direction the camera is pointing with a vector. Normally,
  126.              this vector points straight ahead (<0 0 1>) and look_at is 
  127.              used to point the camera. The direction vector should be used
  128.              to set the "length" of the camera lens. Small values are
  129.              similar to a wide-angle lens, large values are like a tele-photo
  130.              lens.
  131.  
  132. height_field
  133. ------------
  134. Syntax: height_field { gif "file.gif" water_level # }
  135.  
  136. Description: A height field is a rectangular mesh of triangles where the
  137.              height of a triangle at a certain X,Z point is controlled
  138.              by the number in a file at that same index. GIF, TGA and POT
  139.              files may be used as height fields. The water_level is
  140.              the height below which the untransformed height field is cut
  141.              off. The untransformed height field is similar in size to:
  142.                  box { <0 0 0> <1 1 1> }
  143.  
  144. intersection
  145. ------------
  146. Syntax:  object {
  147.            intersection {
  148.               shape1 {...}
  149.               shape2 {...}
  150.            }
  151.          }
  152.  
  153. Description: An intersection is a CSG shape composed of 2 or more shapes.
  154.              All points that are contained in all the included shapes are
  155.              included in the final shape. In essence, an intersection is
  156.              the space where all the shapes meet.
  157.  
  158. inverse
  159. -------
  160. Syntax: object {
  161.           csg_shape_type {
  162.              shape1 {...}
  163.              shape2 {... inverse }
  164.           }
  165.         }
  166.  
  167. Description: Inverse only has effect when using CSG. When inverse is put into
  168.              the definition of a shape, it turns the shape "inside-out".
  169.              Essentially, every point that was "inside" the shape is now
  170.              "outside" and vice versa.
  171.  
  172. light_source
  173. ------------
  174. Syntax: light_source { <x y z> color red # green # blue #}
  175.  
  176. Description: To shed a little light on a scene, you must provide a
  177.              light_source. The center of the light is at the vector x, y
  178.              and z. The red, green, and blue color values define the color 
  179.              of the light which is cast. The light_source itself is 
  180.              invisible. A light source is treated as a shape even though it
  181.              cannot be seen. It may be used in CSG.
  182.  
  183. look_at
  184. -------
  185. Syntax: camera {
  186.           ...
  187.           look_at <x y z>
  188.         }
  189.  
  190. Description: look_at defines the point in space at which the camera is
  191.              pointing, or focused on as defined by the x, y and z parameters.
  192.  
  193. no_shadow
  194. ---------
  195. Syntax: object {
  196.           ...
  197.           no_shadow
  198.         }
  199.  
  200. Description: no_shadow causes an object to be transparent to all light
  201.              sources. The object will not cast a shadow. This feature is
  202.              especially useful for enclosing a light source to give the
  203.              illusion that the light source is actually visible with a shape.
  204.  
  205. object
  206. ------
  207. Syntax: object { 
  208.           shape_type { ... }
  209.           texture { ... }
  210.         }
  211. Description: objects are the basic building blocks. An object defines a shape
  212.              and associated textures. Objects may not be used in CSG, but
  213.              they may be used in composite objects.
  214.  
  215. plane
  216. -----
  217. Syntax: plane { <x y z> d }
  218.  
  219. Description: A plane is a flat surface which is infinite in all directions.
  220.              The surface normal (or orientation) of the plane is determined
  221.              by the x, y and z arguments. The d parameter specifies the
  222.              distance of the plane from the origin in the direction of the
  223.              surface normal.
  224.                 plane { <0 1 0> 0 } // XZ plane, a floor
  225.                 plane { <0 0 1> 10 }// XY plane, a wall
  226.  
  227. Quadric
  228. -------
  229. Syntax:
  230.  
  231. Description:
  232.  
  233. Quartic
  234. -------
  235. Syntax:
  236.  
  237. Description:
  238.  
  239.  
  240.  
  241. right
  242. -----
  243. Syntax: right <x y z>
  244.  
  245. Description: Used in the camera description, it specifies which direction
  246.              in the ray tracing universe is the right hand side of the
  247.              image being generated. Usually, right <1.33 0 0>.
  248.  
  249. rotate
  250. ------
  251. Syntax: object { ... rotate <x y z> }
  252.         shape  { ... rotate <x y z> }
  253.         texture{ ... rotate <x y z> }
  254. Description: rotate will move any element about the origin in x, y and z
  255.              degrees. It is important to note that if the object is not
  256.              centered at the origin, it will "orbit" the origin rather
  257.              than its current center. 
  258. scale
  259. -----
  260. Syntax: object { ... scale <x y z> }
  261.         shape  { ... scale <x y z> }
  262.         texture{ ... scale <x y z> }
  263.  
  264. Description: scale will enlarge or reduce the size of any element.
  265.              If the values for x, y or z are greater than 1.0, the object
  266.              is enlarged. If the values are between 0.0 and 1.0, the object
  267.              is shrunk. Scale may also be use on textures.
  268.              NOTE: Scaling by zero will cause an error.
  269.  
  270. sky
  271. ---
  272. Syntax: camera {
  273.           ...
  274.           sky <x y z>
  275.         }
  276.  
  277. Description: sky describes the orientation of the sky, which is not
  278.              necessarily the same as the UP direction. If sky is defined,
  279.              it must be defined before the look_at parameter.
  280.  
  281. sphere
  282. ------
  283. Syntax: sphere { <x y z> r }
  284.  
  285. Description: A sphere is a perfectly round shape. Its location in space is
  286.              defined by the x, y, and z arguments. The radius is determined
  287.              by the r argument. The width of a sphere will be 2 x r. It
  288.              cannot be scaled unevenly.
  289.  
  290. spotlight
  291. ---------
  292. Syntax: light_source {
  293.           <x y z> // center of light source
  294.           color red # green # blue #
  295.           spotlight
  296.           point_at <x y z>
  297.           radius #
  298.           falloff #
  299.           tightness #
  300.         }
  301.  
  302. Description: A spotlight light_source emulates the behavior of a real
  303.              spotlight, projecting a cone of light. point_at specifies the
  304.              point in space that the light is aimed at. radius is the radius
  305.              in degrees of the circular "hotspot" at the center of the
  306.              spotlight's area of effect. falloff is the radius in degrees
  307.              that defines the area where the brightness falls off to zero.
  308.              Both values may range between 1 and 180. Tightness controls
  309.              how fast the brightness falls off at the edges. Low values
  310.              cause softer edges, high values create sharper edges.
  311.  
  312. texture
  313. -------
  314. Syntax:  object {
  315.            ...
  316.            texture {
  317.               (texture modifiers)
  318.            }
  319.          }
  320.          shape { ... texture {...} }
  321. Description: The texture keyword begins a block which describes the appearance
  322.              of an object, but not the size. See the section on texture
  323.              modifiers for a list of available modifiers and their defaults.
  324.              A texture may be used inside a shape or object, but not
  325.              in a composite object.
  326.  
  327. translate
  328. ---------
  329. Syntax: object { ... translate <x y z> }
  330.         shape  { ... translate <x y z> }
  331.         texture{ ... translate <x y z> }
  332.  
  333.  
  334. Description: translate moves the element in space by the number of units
  335.              specified by the x, y and z parameters. Translate is relative
  336.              to the element's current location. If the element is at <3 4 5>
  337.              and is translated by <1 -1 1>, the element is moved to <4 3 6>.
  338.              Normally, translate is used after scale because the scale will
  339.              "scale" the translate.
  340.  
  341. triangle
  342. --------
  343. Syntax: triangle { <x1 y1 z1> <x2 y2 z2> <x3 y3 z3> }
  344.  
  345. Description: A triangle is specified by the coordinates of the 3 vertices.
  346.              Triangles have no inside or outside, so cannot be used correctly
  347.              in CSG shapes.
  348.  
  349. union
  350. -----
  351. Syntax: object {
  352.           union {
  353.              shape1 {...}
  354.              shape2 {...}
  355.           }
  356.         }
  357.  
  358. Description: Union is a CSG shape. A union essentially superimposes two or
  359.              more shapes to create a single object. All points in the shapes
  360.              included in a union are included in the final object.
  361.  
  362. up
  363. --
  364. Syntax: camera {
  365.            ...
  366.            up <x y z>
  367.         }
  368.  
  369. Description: The up parameter describes the surface normal of the "up"
  370.              direction. up <0 1 0>, for example would have a "up" direction
  371.              in the positive y direction.
  372.  
  373.  
  374.  
  375.   
  376.   
  377. --------------------------------------------------------------------------
  378.   Texture Modifiers
  379. --------------------------------------------------------------------------
  380.  
  381. agate
  382. -----
  383. Syntax: agate color_map {...}
  384.  
  385. Description: agate is a pattern similar to marble. It is always turbulent
  386.              and ignores the turbulence keyword. agate is used within a
  387.              texture block.
  388.  
  389. alpha
  390. -----
  391. Syntax: color red # green # blue # alpha #
  392.  
  393. Description: The alpha property of a color determines how transparent the
  394.              color is. Values range from 0.0 (opaque) to 1.0 (totally
  395.              transparent). Transparency is a filter. Black is always
  396.              opaque. The color red with alpha 1 will only allow red light
  397.              through, and so on.
  398.  
  399. ambient
  400. -------
  401. Syntax: texture {
  402.            ...
  403.            ambient #
  404.         }
  405.  
  406. Description: ambient determines the amount of light an object receives even
  407.              if it is in complete shadow. This emulates the light that is just
  408.              "bouncing around" the room. The default value for ambient is
  409.              0.1. Values range from 0.0 to 1.0.
  410.  
  411. bozo
  412. ----
  413. Syntax: bozo color_map {...}
  414.  
  415. Description: A splotchy color pattern. Turbulence works on it. It's often
  416.              used to create clouds.
  417.  
  418.  
  419. brilliance
  420. ----------
  421. Syntax: texture {
  422.            ...
  423.            brilliance #
  424.         }
  425.  
  426. Description: brilliance controls the tightness of diffuse illumination on
  427.              an object and adjusts the appearance of surface shininess. Values
  428.              from 3.0 to 10.0 can give a shiny or metallic appearance. The
  429.              default value is 1.0. There is no limit on the brilliance value.
  430.  
  431. bump_map
  432. --------
  433. Syntax: bump_map { file_type "filename"  
  434.                    map_type # interpolate # bump_size # 
  435.                     (use_color) (use_index) }
  436. Ex: bump_map { gif "rough.gif" map_type 1 interpolate 2 bump_size 3 }
  437.  
  438. Description: Use a graphic image to simulate bumps on a shape.
  439.  
  440. bumps
  441. -----
  442. Syntax: texture {
  443.              bumps #
  444.         }
  445.  
  446. Description: bumps gives the surface of an object a bumpy appearance. Values
  447.              for bumps range from 0.0 (no bumps) to 1.0 (very bumpy).
  448.  
  449. checker
  450. -------
  451. Syntax: checker color red # green # blue #
  452.                 color red # green # blue #
  453.  
  454. Description: the checker pattern gives an object a checkerboad appearance.
  455.              Two colors must be specified after the checker keyword. These
  456.              are the colors that will alternate in the checker pattern. The
  457.              checker option is used within the texture block and works best
  458.              on planes.
  459.  
  460. color
  461. -----
  462. Syntax: color red # green # blue # alpha #
  463.  
  464. Description: colors are specified using the red, green, blue and
  465.              (optionally) alpha components. The values for each component
  466.              range form 0.0 to 1.0. If a component is not specified, it is
  467.              assumed to be 0 (none of that component color).
  468.              Alpha specifies the transparency of the color.
  469.  
  470. color_map
  471. ---------
  472. Syntax: color_map {
  473.           [start_value end_value color1 color2]
  474.           [start_value end_value color1 color2]
  475.           ...
  476.         }
  477.  
  478. Description: A color_map provides a palette for color patterns. A point on the
  479.              surface is located and it is determined which start_value
  480.              end_value pair the points falls within. The color is then
  481.              determined by smoothly blending the colors associated with
  482.              the start_value end_value pair. Values for start_value and
  483.              end_value range from 0.0 to 1.0. 
  484. Example:
  485.      color_map {
  486.           [0   .25 color red 1 color red 1]
  487.           [.25 .5  color red 1 color green 1]
  488.           [.5 .75  color green 1 color blue 1]
  489.           [.75 .76 color Yellow color Orange]
  490.           [.76 1   color Black  color blue 1]
  491.         }        
  492.  
  493. default texture
  494. ---------------
  495. Description: When a texture is first created, POV-Ray initializes it with
  496.              default values for all options. The default values are:
  497.  
  498.              color red 0 green 0 blue 0 alpha 0
  499.              ambient .1
  500.              diffuse .6
  501.              phong 0
  502.              phong_size 40
  503.              specular 0
  504.              roughness .05
  505.              brilliance 1
  506.              metallic FALSE
  507.              reflection 0
  508.              refraction 0
  509.              ior 1
  510.              turbulence 0
  511.              octaves 6
  512.              texture randomness (dither) 0
  513.              phase 0
  514.              frequency 1
  515.              color map NONE
  516.  
  517. #default
  518. ---------
  519. Syntax: #default { texture { (modifications to default texture) }
  520.  
  521. Description: The default textures can be modified by using the #default
  522.              option. Any textures created after this option has been used
  523.              will use the new defaults as specified in #default. All other
  524.              defaults not specified will remain the unchanged.
  525.  
  526. dents
  527. -----
  528. Syntax: texture {
  529.            ...
  530.            dents #
  531.         }
  532.  
  533. Description: dents will give the object the appearance of being dented. Values
  534.              for dents range between 0.0 (no dents) and 1.0 (the dentiest)
  535.              that determines how dented the surface should be.
  536.  
  537. diffuse
  538. -------
  539. Syntax: texture {
  540.            ...
  541.            diffuse #
  542.         }
  543.  
  544. Description: The diffuse value specifies how the colors in a texture react
  545.              to light directly shining on it. Higher values make the colors
  546.              very bright, lower values make the colors more subdued. Values
  547.              for diffuse range from 0.0 to 1.0. The default value is 0.6.
  548.  
  549. fog
  550. ---
  551. Syntax: fog { color red # green # blue # distance_val }
  552.  
  553. Description: Simulate a uniform haze over the entire scene. Fog should be
  554. described outside of all other descriptions. Ie. don't put it inside a 
  555. texture, object, camera, or shape block.
  556.  
  557. Example: fog { color red 1 green 1 blue 1 200.0 }
  558.  
  559. gradient
  560. --------
  561. Syntax: gradient <axis vector> color_map {...}
  562.  
  563. Description: 
  564.  
  565.  
  566. granite
  567. -------
  568. Syntax: granite color_map {...}
  569.  
  570. Description: This will create a granite pattern based on the supplied
  571.              color_map. granite will respond to the turbulence keyword, but
  572.              the default is no turbulence. granite is typically used with
  573.              small scaling values (2.0 to 5.0).
  574.  
  575. image_map
  576. ---------
  577. Syntax: image_map { file_type "filename" alpha (index # or all) # 
  578.                     map_type # interpolate # (once) }
  579.  
  580. Description: Place a graphic image on a shape as surface coloring.
  581.  
  582.  
  583. interpolate
  584. -------------
  585. Syntax: image_map { gif "file.gif" interpolate # }
  586.         
  587.         interpolate 1  // Norm dist interpolation  
  588.         interpolate 2  // Bilinear interpolation (best) 
  589.  
  590. Description: Smooths the jaggies on image_maps and bump_maps.
  591.  
  592. ior
  593. ---
  594. Syntax: texture {
  595.           ...
  596.           refraction 1
  597.           ior #
  598.         }
  599.  
  600. Description: The ior is the Index of Refraction. This value determines how
  601.              far light will bend as it passes through a texture. To be
  602.              effective, refraction should be set to 1 and the texture must
  603.              have some transparent colors that use alpha. A value of 1.0 will
  604.              not bend the light. Some typical ior values are 1.0 for air,
  605.              1.33 for water, 1.5 for glass and 2.4 for diamond.
  606.  
  607. leopard
  608. -------
  609. Syntax: leopard color_map {...}
  610.  
  611. Description: Uniform spotted color pattern. Turbulence works.  
  612.  
  613. map_type
  614. --------
  615. Syntax: map_type #
  616.  
  617. Description: Changes the mapping type used with image_map, bump_map, and
  618.              material map.
  619.              0 = Planar
  620.              1 = Spherical
  621.              2 = Cylindrical
  622.              3 = Toroidal (donut)
  623.  
  624. marble
  625. ------
  626. Syntax: marble color_map {...}
  627.  
  628. Description: marble creates parallel bands of colors based on the color_map.
  629.              Adding turbulence will give the appearance of true marble or
  630.              other types of stones. The default is no turbulence.
  631.  
  632.  
  633. material_map
  634. ------------
  635. Syntax: material_map { file_type "filename" map_type #  [once]
  636.                        texture {...} texture {...} (...) 
  637.         }
  638.  
  639. Description: Changes the texture on a surface based on the colors in the
  640.              mapped image.
  641.  
  642. max_trace_level
  643. ---------------
  644. Syntax: max_trace_level #
  645.  
  646. Description: This option will set the number of levels that a ray will be
  647.              traced. If a ray is reflected or refracted, it creates another
  648.              ray. This is 1 level. The default value is 5.
  649.  
  650. metallic
  651. --------
  652. Syntax: texture {
  653.            ...
  654.            metallic
  655.         }
  656.  
  657. Description: This keyword specifies that the color of specular and phong
  658.              highlights will be the surface color rather than the color
  659.              of the light source. This creates a metallic appearance.
  660.  
  661. octaves
  662. -------
  663. Syntax: octaves #
  664.  
  665. Description: Affects turbulence. Default value is 6. Values range from 1
  666.              to 16.
  667.  
  668. onion
  669. -----
  670. Syntax: onion color_map {...}
  671.  
  672. Description: onion creates a pattern of concentric circles based on the
  673.              supplied color_map. By default, onion has no turbulence.
  674.  
  675. phong
  676. -----
  677. Syntax: texture {
  678.            ...
  679.            phong #
  680.         }
  681.  
  682. Description: The phong keyword causes a bright shiny spot on the object that
  683.              is the same color as the light source. Values for phong range
  684.              from 0.0 (none) to 1.0 (very bright at the center of the
  685.              highlight). There is no phong highlighting by default.
  686.  
  687. phong_size
  688. ----------
  689. Syntax: texture {
  690.            ...
  691.            phong_size #
  692.            phong #
  693.         }
  694.  
  695. Description: The value for phong_size determines the size of the phong
  696.              highlight of the object. The larger the value, the smaller
  697.              (tighter) the highlight. The smaller the value, the larger
  698.              (looser) the highlight. Values range from 1.0 (very dull) to
  699.              250 (highly polished). The default phong_size is 40.
  700.  
  701. reflection
  702. ----------
  703. Syntax: texture {
  704.            ...
  705.            reflection #
  706.         }
  707.  
  708. Description: The value of reflection determines how much of the light coming
  709.              from an object is reflected from other objects in the scene.
  710.              Values range from 0.0 (no reflection) to 1.0 (a perfect mirror).
  711.  
  712. refraction
  713. ----------
  714. Syntax: texture {
  715.            ...
  716.            refraction #
  717.         }
  718.  
  719. Description: The value for refraction will affect how light passing through
  720.              transparent textures is treated. Values range from 0 to 1.
  721.              Lower values will make the transparent portions less transparent.
  722.              This value will usually be set to 1 with the transparancy
  723.              amounts controlled by alpha. By default, there is no refraction.
  724.  
  725. ripples
  726. -------
  727. Syntax: texture {
  728.           ...
  729.           ripples #
  730.          }
  731.  
  732. Description: Simulates ripples on a shape's surface.
  733.  
  734. roughness
  735. ---------
  736. Syntax: texture {
  737.            ...
  738.            roughness #
  739.         }
  740.  
  741. Description: The roughness value for a surface determines the size of the
  742.              specular highlight of that object. Typical values range from
  743.              1.0 (Very Rough, large highlight) to 0.0005 (Very Smooth,
  744.              small highlight). The default, if no roughness is specified, is
  745.              0.05.
  746.  
  747. specular
  748. --------
  749. Syntax: texture {
  750.            ...
  751.            specular #
  752.         }
  753.  
  754. Description: A specular highlight is similar to a phong highlight, but
  755.              provides a more credible spreading of the highlights near
  756.              the object horizons. Values for specular range from 0.0
  757.              (no highlighting) to 1.0 (bright highlighting). The size of
  758.              the highlight is determined by the roughness value.
  759.  
  760. spotted
  761. -------
  762. Syntax:
  763.  
  764. Description:
  765.  
  766. tiles
  767. -----
  768. Syntax: texture {
  769.            tiles {
  770.               texture {...}
  771.            tile2
  772.               texture {...}
  773.            }
  774.         }
  775.  
  776. Description: tiles gives an effect similar to checker, but with textures
  777.              rather than just colors. The textures for tile1 and tile2
  778.              may also be layered, but only the first layer will be seen.
  779.  
  780. turbulence
  781. ----------
  782. Syntax: texture {
  783.            ...
  784.            turbulence #
  785.         }
  786.  
  787. Description: turbulence will distort a pattern so that it is not so "perfect".
  788.              Typcical values for turbulence range between 0.0 and 1.0, but
  789.              any value can be used.
  790.  
  791. waves
  792. -----
  793. Syntax: waves #
  794.  
  795. Description: Simulates bumpy waves on a shape's surface.
  796.  
  797. wood
  798. ----
  799. Syntax: wood color_map {...}
  800.  
  801. Description: wood used the supplied color map to create concentric cylindrical
  802.              bands of color centered on the Z axis. Small amounts of
  803.              turbulence will make the texture look more like real wood. There
  804.              is no turbulence by default.
  805.  
  806. wrinkles
  807. --------
  808. Syntax: texture {
  809.           ...
  810.           wrinkles #
  811.         }
  812.  
  813. Description: wrinkles is a bump pattern that will give the appearance of a
  814.              wrinkled surface. Values for wrinkles range from 0.0 (no wrinkles
  815.              to 1.0 (very wrinkled)
  816.