home *** CD-ROM | disk | FTP | other *** search
/ Freelog 38 / Freelog038.iso / Graphisme3D / Pov / Dos / povmsdos.exe / POVMSDOS.ZIP / INCLUDE / TEXTURES.INC < prev    next >
Text File  |  1998-01-18  |  31KB  |  1,292 lines

  1. #include "finish.inc"
  2.  
  3. #ifdef(View_POV_Include_Stack)
  4. #   debug "including textures.inc\n"
  5. #end
  6.  
  7. #local Textures_Inc_Temp = version;
  8. /*
  9.  
  10.               Persistence of Vision Raytracer Version 3.1
  11.                      Standard textures include file
  12.  
  13.     Contents:
  14.     ===========================
  15.     DMFWood6
  16.     NBglass            (Norm Bowler)
  17.     NBoldglass         (Norm Bowler)
  18.     NBwinebottle       (Norm Bowler)
  19.     NBbeerbottle       (Norm Bowler)
  20.     Ruby_Glass         (after Norm Bowler)
  21.     Dark_Green_Glass   (after Norm Bowler)
  22.     Yellow_Glass       (after Norm Bowler)
  23.     Orange_Glass       (after Norm Bowler)
  24.     Vicks_Bottle_Glass (after Norm Bowler)
  25.     Soft_Silver        (Dan Farmer)
  26.     New_Penny          (Dan Farmer)
  27.     Tinny_Brass        (Dan Farmer)
  28.     Gold_Nugget        (Dan Farmer)
  29.     Aluminum           (Dan Farmer)
  30.     Bright_Bronze      (Dan Farmer)
  31.     Lightening1        (Dan Farmer)
  32.     Lightening2        (Dan Farmer)
  33.     Brushed_Aluminum   (Dan Farmer)
  34.     Starfield          (Jeff Burton )
  35.     Shadow_Clouds      (Bill Pulver)
  36.  
  37. */
  38.  
  39.  
  40. //*****************************************************************************
  41. //                      STONE PIGMENTS
  42. //*****************************************************************************
  43.  
  44. #declare Jade_Map =
  45. color_map {
  46.     [0.0 rgb <0.1, 0.6, 0.1>]
  47.     [0.8 rgb <0.0, 0.3, 0.0>]
  48.     [0.8 rgb <0.1, 0.6, 0.1>]
  49.     [1.0 rgb <0.0, 0.2, 0.0>]
  50. }
  51.  
  52. // Drew Wells' superb Jade.  Color map works nicely with other textures, too.
  53. #declare Jade = 
  54. pigment {
  55.     marble
  56.     turbulence 1.8
  57.     color_map { Jade_Map }
  58. }
  59.  
  60. #declare Red_Marble_Map = 
  61. color_map {
  62.     [0.0 rgb <0.8, 0.8, 0.6>]
  63.     [0.8 rgb <0.8, 0.4, 0.4>]
  64.     [1.0 rgb <0.8, 0.2, 0.2>]
  65. }
  66. // Classic white marble with red veins.  Over-worked, like checkers.
  67. #declare Red_Marble = 
  68. pigment {
  69.     marble
  70.     color_map { Red_Marble_Map }
  71.     turbulence 1
  72. }
  73.  
  74. #declare White_Marble_Map =
  75. color_map {
  76.     [0.0 rgb <0.9, 0.9, 0.9>]
  77.     [0.8 rgb <0.5, 0.5, 0.5>]
  78.     [1.0 rgb <0.2, 0.2, 0.2>]
  79. }
  80.  
  81. // White marble with black veins.
  82. #declare White_Marble = 
  83. pigment {
  84.     marble
  85.     turbulence 1
  86.     color_map { White_Marble_Map }
  87. }
  88.  
  89. // Light blue and black marble with a thin red vein 
  90. // Try changing LBlue and Vein below to modify the marble.
  91. #declare LBlue = rgb <0.0, 0.6, 0.6>;
  92. #declare Vein  = rgb <0.6, 0.0, 0.0>;
  93.  
  94. #declare Blood_Marble_Map =
  95. color_map {
  96.     [0.0 color 0]
  97.     [0.8 color LBlue]
  98.     [0.9 color Vein]
  99.     [1.0 color 0]
  100. }
  101. #declare Blood_Marble = 
  102. pigment {
  103.     marble
  104.     color_map { Blood_Marble_Map }
  105.     turbulence 2.3
  106. }
  107.  
  108. #declare Blue_Agate_Map =
  109. color_map {
  110.     [0.5  rgb <0.30, 0.30, 0.50>]
  111.     [0.55 rgb <0.20, 0.20, 0.30>]
  112.     [0.6  rgb <0.25, 0.25, 0.35>]
  113.     [0.7  rgb <0.15, 0.15, 0.26>]
  114.     [0.8  rgb <0.10, 0.10, 0.20>]
  115.     [0.9  rgb <0.30, 0.30, 0.50>]
  116.     [1.0  rgb <0.10, 0.10, 0.20>]
  117. }
  118.  
  119. // a grey blue agate -- kind of purplish.
  120. #declare Blue_Agate = 
  121. pigment {
  122.     agate
  123.     color_map { Blue_Agate_Map }
  124. }
  125.  
  126. #declare Sapphire_Agate_Map = 
  127. color_map {
  128.     [0.0  rgb <0.0, 0.0, 0.9>]
  129.     [0.3  rgb <0.0, 0.0, 0.8>]
  130.     [1.0  rgb <0.0, 0.0, 0.4>]
  131. }
  132.  
  133.  
  134. // Deep blue agate -- almost glows.
  135. #declare Sapphire_Agate = 
  136. pigment { 
  137.     agate
  138.     color_map { Sapphire_Agate_Map }
  139. }
  140.  
  141. #declare Brown_Agate_Map =
  142. color_map {
  143.     [0.0 rgb 0]
  144.     [0.5 rgb <0.9, 0.7, 0.6>]
  145.     [0.6 rgb <0.9, 0.7, 0.4>]
  146.     [1.0 rgb <0.7, 0.4, 0.2>]
  147. }
  148.  
  149. // Brown and white agate -- very pretty.
  150. #declare Brown_Agate = 
  151. pigment {
  152.     agate
  153.     color_map { Brown_Agate_Map }
  154. }
  155.  
  156. #declare Pink_Granite_Map =
  157. color_map {
  158.     [0.4  rgb 0]
  159.     [0.4  rgb <0.85, 0.85, 0.95>]
  160.     [0.45 rgb <0.85, 0.85, 0.95>]
  161.     [0.5  rgb <0.75, 0.75, 0.75>]
  162.     [0.55 rgb <0.82, 0.57, 0.46>]
  163.     [0.8  rgb <0.82, 0.57, 0.46>]
  164.     [1.0  rgb <1.00, 0.50, 0.00>]
  165. }
  166.  
  167. #declare Pink_Granite =  
  168. pigment {
  169.     granite
  170.     color_map { Pink_Granite_Map }
  171. }
  172.  
  173. //*****************************************************************************
  174. //                      STONE TEXTURES
  175. //*****************************************************************************
  176.  
  177. // Gray-pink alabaster or marble.  Layers are scaled for a unit object
  178. // and relative to each other.
  179. // NOTE: This texture has very tiny dark blue specks that are often
  180. //       mistaken for rendering errors.  They are not errors.  Just a
  181. //       strange texture design.
  182. #declare PinkAlabaster =
  183. // Underlying surface is very subtly mottled with bozo
  184. texture {
  185.     pigment {
  186.         bozo
  187.         turbulence 0.25
  188.         color_map {
  189.             [0 rgb <0.9, 0.75, 0.75>]
  190.             [1 rgb <0.6, 0.6,  0.6 >]
  191.         }
  192.     scale 0.4
  193.     }
  194.     finish{ ambient 0.25 }
  195. }
  196.  
  197. // Second layer texture has some filter values, yet a fair amount of color
  198. // Viening is kept quite thin in color map and by the largish scale.
  199. texture {
  200.     pigment {
  201.         granite
  202.         color_map {
  203.             [0.0 rgbf <0.52, 0.39, 0.39, 1.0>]
  204.             [0.9 rgbf <0.52, 0.39, 0.39, 0.5>]
  205.             [0.9 rgbf <0.42, 0.14, 0.55, 0.0>]
  206.         }
  207.     scale 2  
  208.     }
  209.     finish {
  210.         specular 1   
  211.         roughness 0.0001
  212.         phong 0.25
  213.         phong_size 75
  214.         brilliance 4
  215.     }
  216. }
  217.  
  218.  
  219. //*****************************************************************************
  220. //                           SKY PIGMENTS
  221. //*****************************************************************************
  222. #declare Blue_Sky_Map =
  223. color_map {
  224.     [0.5 rgb <0.25, 0.25, 0.5>]
  225.     [0.6 rgb 0.7]
  226.     [1.0 rgb 0.3]
  227. }
  228.  
  229. // Basic Blue Sky w/ clouds.
  230. #declare Blue_Sky = 
  231. pigment {
  232.     bozo
  233.     color_map { Blue_Sky_Map }
  234.     turbulence 0.3
  235. }
  236.  
  237. // Bright Blue Sky w/ very white clouds.
  238. #declare Bright_Blue_Sky = 
  239. pigment {
  240.     bozo
  241.     turbulence 0.56
  242.     color_map {
  243.         [0.5 rgb <0.5, 0.5, 1.0>]
  244.         [0.6 rgb 1.0]
  245.         [1.0 rgb 0.5]
  246.     }
  247. }
  248.  
  249. // Another sky
  250. #declare Blue_Sky2 =
  251. pigment {
  252.     agate
  253.     color_map {
  254.         [0.3 rgb <0, 0, 1>]
  255.         [1.0 rgb 1]
  256.     }
  257.     scale .75
  258. }
  259.  
  260. // Small puffs of white clouds
  261. #declare Blue_Sky3 = 
  262. pigment {
  263.     granite
  264.     turbulence 0.1
  265.     color_map {
  266.         [0.3 rgb <0, 0, 1>]
  267.         [1.0 rgb 1]
  268.     }
  269.     scale .75
  270. }
  271.  
  272. // Red sky w/ yellow clouds -- very surreal.
  273. #declare Blood_Sky = 
  274. pigment {
  275.     bozo
  276.     turbulence 0.5
  277.     color_map {
  278.         [0.0 rgb <0.9, 0.700, 0.0>]
  279.         [0.5 rgb <0.3, 0.200, 0.0>]
  280.         [0.5 rgb <0.6, 0.025, 0.0>]
  281.         [0.6 rgb <0.9, 0.700, 0.0>]
  282.         [0.6 rgb <0.6, 0.025, 0.0>]
  283.     }
  284. }
  285.  
  286. // Black sky with red and purple clouds 
  287. // Try adding turbulence values from 0.1 - 5.0 -- CdW
  288. #declare Apocalypse = 
  289. pigment {
  290.     bozo
  291.     color_map {
  292.         [0.0 rgb <0.8, 0.0, 0.0>]
  293.         [0.4 rgb <0.4, 0.0, 0.4>]
  294.         [0.6 rgb <0.0, 0.0, 0.2>]
  295.         [1.0 rgb 0.0]
  296.     }
  297. }
  298.  
  299. // White clouds w/ transparent sky.
  300. #declare Clouds = 
  301. pigment {
  302.     bozo
  303.     color_map {
  304.         [0.1 rgbf <0.8, 0.8, 0.8, 0.0>]
  305.         [0.5 rgbf <1.0, 1.0, 1.0, 1.0>] 
  306.     }
  307. }
  308.  
  309. #declare FBM_Clouds =
  310. pigment {
  311.     bozo
  312.     turbulence 0.65
  313.     octaves 6
  314.     omega 0.7
  315.     lambda 2
  316.     color_map { 
  317.         [0.0 rgb 0.85]
  318.         [0.1 rgb 0.75] 
  319.         [0.5 rgb 0.75] 
  320.         [0.5 rgbf <1,1,1,1>]
  321.     } 
  322. scale <6, 1, 6>
  323. }
  324.  
  325. #declare Shadow_Clouds =
  326. texture {                          // The blue sky background for the clouds 
  327.     pigment { rgb <0.196078, 0.6, 0.8> }
  328.     finish { ambient 0.7 diffuse 0 }
  329. }
  330. texture {                          // The upper part of the clouds
  331.     pigment { FBM_Clouds }
  332.     finish { ambient 1.0 diffuse 0 }
  333. }
  334. texture {                          // The darker underside of the clouds
  335.     pigment { FBM_Clouds  translate -0.15*y }
  336.     finish { ambient 0.6 diffuse 0 }
  337. }
  338.  
  339.  
  340.  
  341. //*****************************************************************************
  342. //                           WOODEN PIGMENTS
  343. //*****************************************************************************
  344.  
  345. // Several wooden pigments by Tom Price:
  346. // A light reddish wood.
  347. #declare Cherry_Wood =
  348. pigment {
  349.     wood
  350.     turbulence 0.3
  351.     color_map {
  352.         [0.8 rgb <0.66, 0.31, 0.20>]
  353.         [0.8 rgb <0.40, 0.13, 0.06>]
  354.         [1.0 rgb <0.20, 0.06, 0.03>]
  355.     }
  356. }
  357.  
  358. // A light tan wood with,ish rings.
  359. #declare Pine_Wood = 
  360. pigment {
  361.     wood
  362.     turbulence 0.2
  363.     color_map {
  364.         [0.8 rgb <1.0, 0.72, 0.25>]
  365.         [0.8 rgb <0.5, 0.50, 0.06>]
  366.         [1.0 rgb <0.4, 0.40, 0.03>]
  367.     }
  368. }
  369.  
  370. // Dark wood with a,ish hue to it.
  371. #declare Dark_Wood = 
  372. pigment {
  373.     wood
  374.     turbulence 0.2
  375.     color_map {
  376.         [0.8 rgb <0.43, 0.24, 0.05>]
  377.         [0.8 rgb <0.40, 0.33, 0.06>]
  378.         [1.0 rgb <0.20, 0.03, 0.03>]
  379.     }
  380. }
  381.  
  382. // Light tan wood with brown rings.
  383. #declare Tan_Wood = 
  384. pigment {
  385.     wood
  386.     turbulence 0.1
  387.     color_map {
  388.         [0.8 rgb <0.88, 0.60, 0.30>]
  389.         [0.8 rgb <0.60, 0.40, 0.20>]
  390.         [1.0 rgb <0.40, 0.30, 0.20>]
  391.     }
  392. }
  393.  
  394. // A very pale wood with tan rings -- kind of balsa-ish.
  395. #declare White_Wood = 
  396. pigment {
  397.     wood
  398.     turbulence 0.6
  399.     color_map {
  400.         [0.0 rgb <0.93, 0.71, 0.53>]
  401.         [0.8 rgb <0.98, 0.81, 0.60>]
  402.         [0.8 rgb <0.60, 0.33, 0.27>]
  403.         [1.0 rgb <0.70, 0.60, 0.23>]
  404.     }
  405. }
  406.  
  407. // Brown wood - looks stained.
  408. #declare Tom_Wood = 
  409. pigment {
  410.     wood
  411.     turbulence 0.31
  412.     color_map {
  413.         [0.8 rgb < 0.7, 0.3, 0.0>]
  414.         [0.8 rgb < 0.5, 0.2, 0.0>]
  415.         [1.0 rgb < 0.4, 0.1, 0.0>]
  416.     }
  417. }
  418.  
  419. // The scaling in these definitions is relative to a unit-sized object
  420. // (radius 1).  Note that woods are functionally equivilent to a log lying
  421. // along the z axis.  For best results, think like a woodcutter trying to
  422. // extract the nicest board out of that log.  A little tilt along the x axis
  423. // will give elliptical rings of grain like you'd expect to find on most
  424. // boards.  Experiment.
  425. // (The first five came from DODEC2.POV in the POV Scenefile Library.)
  426. #declare DMFWood1 = 
  427. pigment {
  428.     wood
  429.     turbulence 0.04
  430.     octaves 3
  431.     scale <0.05, .05, 1>
  432.     color_map {
  433.         [0.1 rgb <0.60, 0.30, 0.18>]
  434.         [0.9 rgb <0.30, 0.15, 0.09>]
  435.     }
  436. }
  437.  
  438. #declare DMFWood2 = 
  439. pigment {
  440.     wood
  441.     turbulence 0.03
  442.     octaves 4
  443.     scale <0.05, .05, 1>
  444.     color_map {
  445.         [0.1 rgb <0.52, 0.37, 0.26>]
  446.         [0.9 rgb <0.42, 0.26, 0.15>]
  447.     }
  448. }
  449.  
  450. #declare DMFWood3 = 
  451. pigment {
  452.     wood
  453.     turbulence 0.05
  454.     octaves 2
  455.     scale <0.05, .05, 1>
  456.     color_map {
  457.         [0.1 rgb <0.4, 0.133, 0.066>]
  458.         [0.9 rgb <0.2, 0.065, 0.033>]
  459.     }
  460. }
  461.  
  462. #declare DMFWood4 =
  463. pigment {
  464.     wood
  465.     turbulence 0.04
  466.     octaves 3
  467.     scale <0.05, .05, 1>
  468.     color_map {
  469.         [0.1 rgb <0.888, 0.600, 0.3>]
  470.         [0.9 rgb <0.600, 0.400, 0.2>]
  471.     }
  472. }
  473.  
  474. #declare DMFWood5 = 
  475. pigment {
  476.     wood
  477.     turbulence 0.05
  478.     octaves 6
  479.     scale <0.075, .075, 1>
  480.     color_map {
  481.         [0.1 rgb <0.30, 0.10, 0.050>]
  482.         [0.9 rgb <0.25, 0.07, 0.038>]
  483.     }
  484. }
  485.  
  486. // This is a three-layer wood texture.  Renders rather slowly because of
  487. // the transparent layers and the two layers of turbulence, but it looks
  488. // great.  Try other colors of "varnish" for simple variations.  
  489. #declare DMFWood6 = 
  490. texture {
  491.     pigment {
  492.         wood  turbulence 0.04
  493.         octaves 3
  494.         scale <0.05, .05, 1>
  495.         color_map { 
  496.             [0.1 rgb <0.88, 0.60, 0.4>]
  497.             [0.9 rgb <0.60, 0.40, 0.3>]
  498.         }
  499.     }
  500.     finish { 
  501.         specular 0.25
  502.         roughness 0.05
  503.         ambient 0.45 
  504.         diffuse 0.33
  505.         reflection 0.15
  506.     }
  507. }
  508. texture {
  509.     pigment {
  510.         wood  turbulence <0.1, 0.5, 1> 
  511.         octaves 5
  512.         lambda 3.25
  513.         scale <0.15, .5, 1>
  514.         color_map { 
  515.             [0.0 rgbf <0.7, 0.6, 0.4, 0.100>]
  516.             [0.1 rgbf <0.8, 0.6, 0.3, 0.500>]
  517.             [0.1 rgbf <0.8, 0.6, 0.3, 0.650>]
  518.             [0.9 rgbf <0.6, 0.4, 0.2, 0.975>]
  519.             [1.0 rgbf <0.6, 0.4, 0.2, 1.000>]
  520.         }
  521.     rotate <5, 10, 5>
  522.     translate -x*2
  523.     }
  524.     finish { 
  525.         specular 0.25 
  526.         roughness 0.0005
  527.         ambient .1 
  528.         diffuse 0.33
  529.     } 
  530. }
  531. // A "coat of varnish" to modify the overall color of the wood
  532. texture {
  533.     pigment { rgbf <0.75, 0.15, 0.0, 0.95> }
  534.     finish { 
  535.         specular 0.25
  536.         roughness 0.01
  537.         ambient 0
  538.         diffuse 0.33
  539.     }
  540. }
  541.  
  542.  
  543.  
  544.  
  545. // Is this really oak?  I dunno.  Quite light, maybe more like spruce.
  546. #declare DMFLightOak =  
  547. pigment {
  548.     wood
  549.     turbulence 0.05            // For best results,  keep this low!
  550.     scale <0.2, 0.2, 1>        // Scaled for a unit object
  551.     color_map {
  552.         [0.1 rgb <0.42, 0.26, 0.15>]
  553.         [0.9 rgb <0.52, 0.37, 0.26>]
  554.     }
  555. }
  556.  
  557. // Looks like old desk oak if used correctly.
  558. #declare DMFDarkOak = 
  559. pigment {
  560.     wood
  561.     turbulence 0.04            // For best results,  keep this low!
  562.     octaves 3
  563.     scale <0.2, 0.2, 1>        // Scaled for a unit object
  564.     color_map {
  565.         [0.1 rgb <0.60, 0.30, 0.18>]
  566.         [0.9 rgb <0.30, 0.15, 0.09>]
  567.     }
  568. }
  569.  
  570. // Wood by Eric Barish
  571. #declare EMBWood1 = 
  572. texture {  /* Bottom wood-grain layer */
  573.     pigment {
  574.         wood
  575.         turbulence 0.05
  576.         color_map {
  577.             [0.00 rgb <0.58, 0.45, 0.23>]
  578.             [0.34 rgb <0.65, 0.45, 0.25>]
  579.             [0.40 rgb <0.33, 0.23, 0.13>]
  580.             [0.47 rgb <0.60, 0.40, 0.20>]
  581.             [1.00 rgb <0.25, 0.15, 0.05>]
  582.         }
  583.     }
  584.     finish {
  585.         crand 0.02
  586.         ambient 0.32
  587.         diffuse 0.63
  588.         phong 0.2
  589.         phong_size 10
  590.     }
  591.     normal { bumps 0.05 }
  592. }
  593. texture {     /* top layer, adds small dark spots */
  594.     pigment {
  595.         bozo
  596.         color_map {
  597.             [0.0 rgbf <1.00, 1.00, 1.00, 1.00>]
  598.             [0.8 rgbf <1.00, 0.90, 0.80, 0.80>]
  599.             [1.0 rgbf <0.30, 0.20, 0.10, 0.40>]
  600.         }
  601.     scale 0.25
  602.     }
  603. }
  604.  
  605.  
  606. //   Doug Otwell woods
  607. //   Yellow pine, close grained
  608. //
  609. #declare Yellow_Pine = 
  610. texture {
  611.     pigment {
  612.         wood
  613.         turbulence 0.02
  614.         color_map {
  615.             [0.222 rgb <0.808, 0.671, 0.251>]
  616.             [0.342 rgb <0.600, 0.349, 0.043>]
  617.             [0.393 rgb <0.808, 0.671, 0.251>]
  618.             [0.709 rgb <0.808, 0.671, 0.251>]
  619.             [0.821 rgb <0.533, 0.298, 0.027>]
  620.             [1.000 rgb <0.808, 0.671, 0.251>]
  621.         }
  622.     scale 0.1
  623.     translate <10, 0, 0>
  624.     }
  625. }
  626. // Yellow_Pine layer 2
  627. texture {
  628.     pigment {
  629.         wood
  630.         turbulence 0.01
  631.         color_map {
  632.             [0.000 rgbf <1.000, 1.000, 1.000, 1.000>]
  633.             [0.120 rgbf <0.702, 0.467, 0.118, 0.608>]
  634.             [0.496 rgbf <1.000, 1.000, 1.000, 1.000>]
  635.             [0.701 rgbf <1.000, 1.000, 1.000, 1.000>]
  636.             [0.829 rgbf <0.702, 0.467, 0.118, 0.608>]
  637.             [1.000 rgbf <1.000, 1.000, 1.000, 1.000>]
  638.         }
  639.     scale 0.5 
  640.     translate <10, 0, 0>
  641.     }
  642. }
  643.  
  644. //
  645. //   Rosewood
  646. //
  647. #declare Rosewood = 
  648. texture {
  649.     pigment {
  650.         bozo
  651.         turbulence 0.04
  652.         color_map {
  653.             [0.000 rgb <0.204, 0.110, 0.078>]
  654.             [0.256 rgb <0.231, 0.125, 0.090>]
  655.             [0.393 rgb <0.247, 0.133, 0.090>]
  656.             [0.581 rgb <0.204, 0.110, 0.075>]
  657.             [0.726 rgb <0.259, 0.122, 0.102>]
  658.             [0.983 rgb <0.231, 0.125, 0.086>]
  659.             [1.000 rgb <0.204, 0.110, 0.078>]
  660.         }
  661.     scale <0.5, 0.5, 1>
  662.     translate <10, 0, 0>
  663.     }
  664.     finish {
  665.         ambient 0.5
  666.         diffuse 0.8
  667.     }
  668. }
  669. // Rosewood layer 2
  670. texture {
  671.     pigment {
  672.         wood
  673.         turbulence 0.04
  674.         color_map {
  675.             [0.000 rgbf <0.545, 0.349, 0.247, 1.000>]
  676.             [0.139 rgbf <0.000, 0.000, 0.000, 0.004>]
  677.             [0.148 rgbf <0.000, 0.000, 0.000, 0.004>]
  678.             [0.287 rgbf <0.545, 0.349, 0.247, 1.000>]
  679.             [0.443 rgbf <0.545, 0.349, 0.247, 1.000>]
  680.             [0.626 rgbf <0.000, 0.000, 0.000, 0.004>]
  681.             [0.635 rgbf <0.000, 0.000, 0.000, 0.004>]
  682.             [0.843 rgbf <0.545, 0.349, 0.247, 1.000>]
  683.         }
  684.     scale <0.5, 0.5, 1>
  685.     translate <10, 0, 0>
  686.     }
  687.     finish {
  688.         ambient 0.5
  689.         diffuse 0.8
  690.     }
  691. }
  692.  
  693. //
  694. //   Sandalwood ( makes a great burled maple, too)
  695. //
  696. #declare Sandalwood = 
  697. texture {
  698.     pigment {
  699.         bozo
  700.         turbulence 0.2
  701.         color_map {
  702.             [0.000 rgb <0.725, 0.659, 0.455>]
  703.             [0.171 rgb <0.682, 0.549, 0.420>]
  704.             [0.274 rgb <0.557, 0.451, 0.322>]
  705.             [0.393 rgb <0.725, 0.659, 0.455>]
  706.             [0.564 rgb <0.682, 0.549, 0.420>]
  707.             [0.701 rgb <0.482, 0.392, 0.278>]
  708.             [1.000 rgb <0.725, 0.659, 0.455>]
  709.         }
  710.     scale <0.2, 0.2, 1>
  711.     scale 2
  712.     }
  713. }
  714. // Sandalwood layer 2
  715. texture {
  716.     pigment {
  717.         bozo
  718.         turbulence 0.8
  719.         color_map {
  720.             [0.000 rgbf <0.682, 0.604, 0.380, 1.000>]
  721.             [0.087 rgbf <0.761, 0.694, 0.600, 0.020>]
  722.             [0.226 rgbf <0.635, 0.553, 0.325, 1.000>]
  723.             [0.348 rgbf <0.761, 0.694, 0.600, 0.020>]
  724.             [0.496 rgbf <0.682, 0.604, 0.380, 1.000>]
  725.             [0.565 rgbf <0.761, 0.694, 0.600, 0.020>]
  726.             [0.661 rgbf <0.682, 0.604, 0.380, 1.000>]
  727.             [0.835 rgbf <0.761, 0.694, 0.600, 0.020>]
  728.             [1.000 rgbf <0.682, 0.604, 0.380, 1.000>]
  729.         }
  730.     scale 0.4
  731.     }
  732. }
  733.  
  734.  
  735. //*****************************************************************************
  736. //                           GLASS TEXTURES
  737. //*****************************************************************************
  738.  
  739. /* Note: New in POV-Ray 3.1, the "ior" keyword is supposed to be 
  740.          specified in the new "interior{...}" statement.  
  741.   
  742.          Under POV-Ray 3.0x and prior, the "refraction" keyword served
  743.          two puropses.  
  744.            1) Turn on refraction: this is no longer necessary.  Any use
  745.               of the "ior" keyword with a value other than 1.0 will
  746.               turn on refraction.
  747.            2) Attenuate transparency: Values of "refraction" that are
  748.               between 0.0 and 1.0 would attenuate or darken the amount
  749.               of light passing through.  The same effect can be obtained
  750.               by adjusting the filter value.  A more realistic effect
  751.               can be obtained using the new "fade_power" and "fade_distance"
  752.               keywords in the "interior" statement.
  753.          These textures and finishes should still work under POV-Ray 3.1
  754.          but any new textures you create should make use of the new syntax.
  755.  */
  756.  
  757. #version -1.0;
  758.  
  759. #declare Glass_Finish=
  760. finish {
  761.     specular 1
  762.     roughness 0.001
  763.     ambient 0
  764.     diffuse 0
  765.     reflection 0.1
  766.     ior 1.5
  767. }
  768.  
  769. #declare Glass = 
  770. texture {
  771.     pigment { rgbf<1.0, 1.0, 1.0, 0.7> }
  772.     finish  { Glass_Finish }
  773. }
  774.  
  775. // Probably more of a "Plexiglas" than glass
  776. #declare Glass2 = 
  777. texture {
  778.     pigment { rgbf <1,1,1,1> }
  779.     finish {
  780.         ambient 0
  781.         diffuse 0
  782.         reflection 0.5
  783.         refraction 0.85
  784.         ior 1.5
  785.         phong 0.3
  786.         phong_size 60
  787.     }
  788. }
  789.  
  790. // An excellent lead crystal glass!
  791. #declare Glass3 = 
  792. texture {
  793.     pigment { rgbf <0.98, 0.98, 0.98, 0.9> }
  794.     finish  {
  795.         ambient 0.1
  796.         diffuse 0.1
  797.         reflection 0.1
  798.         refraction 0.9
  799.         ior 1.45
  800.         specular 0.8
  801.         roughness 0.0003
  802.         phong 1 
  803.         phong_size 400
  804.      }
  805. }
  806.  
  807. #declare Green_Glass = 
  808. texture {
  809.     Glass3
  810.     pigment { rgbf <0.8, 1, 0.95, 0.9> }
  811. }
  812.  
  813. // Glass textures contributed by Norm Bowler, of Richland WA 
  814. #declare NBglass =
  815. texture {
  816.     pigment { rgbf <0.98, 1.0, 0.99, 0.75> }
  817.     finish {
  818.         ambient 0.1
  819.         diffuse 0.1
  820.         reflection .25
  821.         ior 1.5
  822.         specular 1
  823.         roughness .001
  824.     }
  825. }
  826.  
  827. #version 3.1;
  828.  
  829. #declare NBoldglass=
  830. texture { 
  831.     NBglass
  832.     pigment { rgbf <0.8, 0.9, 0.85, 0.85> }
  833. }
  834.  
  835. #declare NBwinebottle=
  836. texture { 
  837.     NBglass
  838.     pigment { rgbf <0.4, 0.72, 0.4, 0.6> }
  839. }
  840.  
  841. #declare NBbeerbottle=
  842. texture { 
  843.     NBglass
  844.     pigment { rgbf <0.7, 0.5, 0.1, 0.6> }
  845. }
  846.  
  847. // A few color variations on Norm's glass
  848. // Ruby glass
  849. #declare Ruby_Glass =
  850. texture { 
  851.     NBglass
  852.     pigment { rgbf <0.9, 0.1, 0.2, 0.8> }
  853. }
  854.  
  855. // Dark, glass
  856. #declare Dark_Green_Glass=
  857. texture { 
  858.     NBglass
  859.     pigment { rgbf <0.1, 0.7, 0.8, 0.8> }
  860. }
  861.  
  862. // Yellow glass
  863. #declare Yellow_Glass=
  864. texture { 
  865.     NBglass
  866.     pigment { rgbf <0.8, 0.8, 0.2, 0.8> }
  867. }
  868.  
  869. // Orange/Amber glass
  870. #declare Orange_Glass=
  871. texture { 
  872.     NBglass
  873.     pigment { rgbf <1.0, 0.5, 0.0, 0.8> }
  874. }
  875.  
  876. // Vicks bottle, glass
  877. #declare Vicks_Bottle_Glass=
  878. texture { 
  879.     NBglass
  880.     pigment { rgbf <0.1, 0.15, 0.5, 0.9> }
  881. }
  882.  
  883. //*****************************************************************************
  884. //                           METAL FINISHES
  885. //*****************************************************************************
  886.  
  887. #declare Metal =
  888. finish {
  889.     metallic
  890.     ambient 0.2
  891.     diffuse 0.7
  892.     brilliance 6
  893.     reflection 0.25
  894.     phong 0.75
  895.     phong_size 80
  896. }
  897.  
  898. //*****************************************************************************
  899. //                           METAL TEXTURES
  900. //*****************************************************************************
  901.  
  902.  
  903. // Good looking "metal" textures
  904. #declare Chrome_Texture = 
  905. texture {
  906.     pigment { rgb <0.658824, 0.658824, 0.658824> }
  907.     finish {
  908.         ambient 0.3
  909.         diffuse 0.7
  910.         reflection 0.15
  911.         brilliance 8
  912.         specular 0.8
  913.         roughness 0.1
  914.     }
  915. }
  916.  
  917. // A series of metallic textures using the Metal finish:
  918. #declare Brass_Texture  = texture { pigment{ rgb <0.71, 0.65, 0.26>} finish{ Metal }}
  919. #declare Gold_Texture   = texture { pigment{ rgb <0.85, 0.85, 0.10>} finish{ Metal }}
  920. #declare Bronze_Texture = texture { pigment{ rgb <0.55, 0.47, 0.14>} finish{ Metal }}
  921. #declare Copper_Texture = texture { pigment{ rgb <0.72, 0.45, 0.20>} finish{ Metal }}
  922. #declare Silver_Texture = texture { pigment{ rgb <0.90, 0.91, 0.98>} finish{ Metal }}
  923.  
  924. // In the future, please refer to Chrome_Texture by this name.  I'd like
  925. // to scrap the old name someday. Ditto with other "_Texture" names!
  926. #declare Chrome_Metal = texture { Chrome_Texture }
  927. #declare Brass_Metal  = texture { Brass_Texture  }
  928. #declare Bronze_Metal = texture { Bronze_Texture }
  929. #declare Gold_Metal   = texture { Gold_Texture   }
  930. #declare Silver_Metal = texture { Silver_Texture }
  931. #declare Copper_Metal = texture { Copper_Texture }
  932.  
  933. // A couple highly reflective metal textures.
  934. #declare Polished_Chrome = 
  935. texture {
  936.     pigment { rgb <0.2, 0.2, 0.2> }
  937.     finish {
  938.         ambient 0.1
  939.         diffuse 0.7
  940.         brilliance 6.0
  941.         reflection 0.6
  942.         phong 0.8
  943.         phong_size 120
  944.     }
  945. }
  946.  
  947. #declare Polished_Brass = 
  948. texture {
  949.     pigment { rgb <0.578, 0.422, 0.195> }
  950.     finish {
  951.         metallic
  952.         ambient 0.1
  953.         diffuse 0.8
  954.         brilliance 6.0
  955.         reflection 0.4
  956.         phong 0.8
  957.         phong_size 120
  958.    }
  959. }
  960.  
  961.  
  962. // Beautiful military brass texture!
  963. #declare New_Brass = 
  964. texture {
  965.     pigment { rgb <0.70, 0.56, 0.37> }
  966.     finish {
  967.         ambient 0.35
  968.         diffuse 1.0
  969.         brilliance 15
  970.         phong 0.41
  971.         phong_size 5
  972.     }
  973. }
  974.  
  975.  
  976. // Spun Brass texture for cymbals & such
  977. #declare Spun_Brass = 
  978. texture { 
  979.     New_Brass
  980.     normal { waves 0.35 frequency 2 scale 0.01 }
  981. }
  982.  
  983. // Brushed aluminum (brushed along X axis)
  984. #declare Brushed_Aluminum = 
  985. texture {
  986.     Chrome_Metal
  987.     normal {
  988.         bumps -0.5
  989.         scale <1, 0.001, 0.001>
  990.     }
  991. }
  992.  
  993.  
  994. #declare SilverFinish =
  995. finish {
  996.     metallic
  997.     ambient 0.25
  998.     diffuse 0.65
  999.     reflection 0.45
  1000.     brilliance 6
  1001.     phong 1
  1002.     phong_size 100
  1003. }
  1004.  
  1005.  
  1006. // Each of these looks good.  Slightly,r as you go down
  1007. #declare Silver1_Colour = color  rgb <0.94, 0.93, 0.83>;
  1008. #declare Silver2_Colour = color  rgb <0.94, 0.93, 0.86>;
  1009. #declare Silver3_Colour = color  rgb <0.94, 0.93, 0.90>;
  1010.  
  1011. #declare Silver1 = 
  1012. texture {
  1013.     pigment { Silver1_Colour }
  1014.     finish { SilverFinish }
  1015. }
  1016.  
  1017. #declare Silver2 = 
  1018. texture {
  1019.     pigment { Silver2_Colour }
  1020.     finish { SilverFinish }
  1021. }
  1022.  
  1023. #declare Silver3 = 
  1024. texture {
  1025.     pigment { Silver3_Colour }
  1026.     finish { SilverFinish }
  1027. }
  1028.  
  1029.  
  1030. // Interesting texture -- Give it a try.
  1031. // Sort of a "rgb <0.0, 0.0, 0.0> Hills Gold", black, white, and orange specks or splotches.
  1032. #declare Brass_Valley = 
  1033. texture {
  1034.     pigment {
  1035.         granite
  1036.         color_map {
  1037.             [0.3 rgb <0.82, 0.57, 0.46>]
  1038.             [0.3 rgb <0.00, 0.00, 0.00>]
  1039.             [0.6 rgb <0.85, 0.85, 0.95>]
  1040.             [0.6 rgb <0.82, 0.57, 0.46>]
  1041.             [1.0 rgb <0.85, 0.85, 0.95>]
  1042.         }
  1043.     }
  1044.     finish {
  1045.         metallic
  1046.         brilliance 6.0
  1047.         reflection 0.75
  1048.         phong 0.75
  1049.     }
  1050. }
  1051.  
  1052. #declare Rust =
  1053. texture { 
  1054.     pigment {
  1055.         granite
  1056.         color_map {
  1057.             [0.0 rgb <0.89, 0.51, 0.28>]
  1058.             [0.4 rgb <0.70, 0.13, 0.00>]
  1059.             [0.5 rgb <0.69, 0.41, 0.08>]
  1060.             [0.6 rgb <0.49, 0.31, 0.28>]
  1061.             [1.0 rgb <0.89, 0.51, 0.28>]
  1062.         }
  1063.     }
  1064.     finish { ambient 0.2 diffuse 0.4 }
  1065. }
  1066.  
  1067. #declare Rusty_Iron = 
  1068. texture {
  1069.     pigment {
  1070.         granite
  1071.         color_map {
  1072.             [0.0 rgb <0.42, 0.20, 0.20>]
  1073.             [0.5 rgb <0.50, 0.50, 0.02>]
  1074.             [0.6 rgb <0.60, 0.20, 0.20>]
  1075.             [0.6 rgb <0.30, 0.20, 0.20>]
  1076.         }
  1077.     }
  1078.     finish { ambient 0.2 diffuse 0.6 }
  1079.     normal { wrinkles 1 scale 0.1 }
  1080. }
  1081.  
  1082.  
  1083. #declare Soft_Silver = 
  1084. texture {
  1085.     pigment { Silver1_Colour }
  1086.     finish {
  1087.         metallic
  1088.         ambient 0.2
  1089.         diffuse 0.35
  1090.         specular 0.85
  1091.         roughness 0.01
  1092.         reflection 0.45
  1093.         brilliance 1.5
  1094.     }
  1095. }
  1096.  
  1097. #declare Metallic_Finish =
  1098.     finish {
  1099.         metallic
  1100.         ambient 0.1
  1101.         diffuse 0.65
  1102.         specular 0.85
  1103.         roughness 0.01
  1104.         reflection 0.45
  1105.         brilliance 1.5
  1106.     }
  1107.  
  1108. #declare New_Penny = 
  1109. texture {
  1110.     pigment { rgb <0.6, 0.45, 0.4> }
  1111.     finish { Metallic_Finish }
  1112. }
  1113.  
  1114. #declare Tinny_Brass = 
  1115. texture {
  1116.     pigment { rgb <0.70, 0.56, 0.37> }
  1117.     finish { Metallic_Finish }
  1118. }
  1119.  
  1120. #declare Gold_Nugget = 
  1121. texture {
  1122.     pigment { rgb <0.5, 0.35, 0.25> }
  1123.     finish { Metallic_Finish }
  1124. }
  1125.  
  1126. #declare Aluminum  = 
  1127. texture {
  1128.     pigment { rgb <0.55, 0.5, 0.45> }
  1129.     finish { Metallic_Finish }
  1130. }
  1131.  
  1132. #declare Bright_Bronze  = 
  1133. texture {
  1134.     pigment { rgb <0.36, 0.28, 0.20> }
  1135.     finish { Metallic_Finish }
  1136. }
  1137.  
  1138.  
  1139. //*****************************************************************************
  1140. //                    SPECIAL EFFECTS
  1141. //*****************************************************************************
  1142.  
  1143. // Red & white stripes - Looks best on a y axis Cylinder
  1144. // It "spirals" because it's gradient on two axis
  1145. #declare Candy_Cane = 
  1146. pigment {
  1147.     gradient x+y
  1148.     color_map {
  1149.         [0.25 rgb <1,0,0>]
  1150.         [0.25 rgb <1,1,1>]
  1151.         [0.75 rgb <1,1,1>]
  1152.         [0.75 rgb <1,0,0>]
  1153.     }
  1154. }
  1155.  
  1156. // Orange and Clear stripes spiral around the texture
  1157. // to make an object look like it was "Peeled"
  1158. // Now, you too can be M.C. Escher 
  1159. #declare Peel = 
  1160. pigment {
  1161.     gradient x+y
  1162.     color_map {
  1163.         [0.25 rgbf <1.0, 0.5, 0.0, 0.0>]
  1164.         [0.25 rgbf <1.0, 1.0, 1.0, 1.0>]
  1165.         [0.75 rgbf <1.0, 1.0, 1.0, 1.0>]
  1166.         [0.75 rgbf <1.0, 0.5, 0.0, 0.0>]
  1167.     }
  1168. }
  1169.  
  1170. #declare Y_Gradient = 
  1171. pigment {
  1172.     gradient y
  1173.     color_map {
  1174.         [0.00  rgb <1,0,0>]
  1175.         [0.33  rgb <0,0,1>]
  1176.         [0.66  rgb <0,1,0>]
  1177.         [1.00  rgb <1,0,0>]
  1178.     }
  1179. }
  1180.  
  1181. #declare X_Gradient = 
  1182. pigment {
  1183.     gradient x
  1184.     color_map {
  1185.         [0.00 rgb <1,0,0>]
  1186.         [0.33 rgb <0,0,1>]
  1187.         [0.66 rgb <1,1,1>]
  1188.     }
  1189. }
  1190.  
  1191. // Wavy water 
  1192. // Requires a sub-plane, and may require scaling to fit your scene.
  1193. #declare Water =
  1194. texture {
  1195.     pigment{ rgbf <0.0, 0.0, 1.0, 0.9> }
  1196.     normal {
  1197.         ripples 0.75
  1198.         frequency 10
  1199.     }
  1200.     finish {
  1201.         reflection 0.3
  1202. #version -1.0;
  1203.         refraction 0.5
  1204.         ior 1.33
  1205.     }
  1206. #version 3.1;
  1207. }
  1208.  
  1209. #declare Cork =
  1210. texture {
  1211.     pigment {
  1212.         granite
  1213.         color_map {
  1214.             [0.00 rgb <0.93, 0.71, 0.532>]
  1215.             [0.60 rgb <0.98, 0.81, 0.60>]
  1216.             [0.60 rgb <0.50, 0.30, 0.20>]
  1217.             [0.65 rgb <0.50, 0.30, 0.20>]
  1218.             [0.65 rgb <0.80, 0.53, 0.46>]
  1219.             [1.00 rgb <0.85, 0.75, 0.35>]
  1220.         }
  1221.     }
  1222.     finish{ 
  1223.         specular 0.1 
  1224.         roughness 0.5 
  1225.     }
  1226.     scale 0.25     // Generally looks best scaled longer on one axis
  1227. }
  1228.  
  1229. #declare Lightening_CMap1 =  
  1230. color_map {
  1231.     [0.00 rgbf <1,1,1,0>]
  1232.     [0.15 rgbf <0.94, 0.81, 0.99, 0.65>]
  1233.     [0.25 rgbf <0.94, 0.81, 0.99, 0.65>]
  1234.     [0.30 rgbf <0.87, 0.58, 0.98, 0.85>]
  1235.     [0.40 rgbf <0.87, 0.58, 0.98, 0.85>]
  1236.     [0.45 rgbf <0.73, 0.16, 0.96, 0.95>]
  1237. }
  1238.  
  1239. #declare Lightening1 = 
  1240. texture {
  1241.     pigment {
  1242.         marble
  1243.         color_map { Lightening_CMap1 }
  1244.         turbulence 0.5
  1245.     }
  1246.     finish { ambient 1 }
  1247. }
  1248.  
  1249.  
  1250. #declare Lightening_CMap2 =  
  1251. color_map {
  1252.     [0.00 rgbf <1,1,1,0>]
  1253.     [0.10 rgbf <0.94, 0.81, 0.99, 0.65>]
  1254.     [0.20 rgbf <0.94, 0.81, 0.99, 0.65>]
  1255.     [0.30 rgbf <0.87, 0.58, 0.98, 0.85>]
  1256.     [0.45 rgbf <0.87, 0.58, 0.98, 0.85>]
  1257.     [0.65 rgbf <0.73, 0.16, 0.96, 0.95>]
  1258. }
  1259.  
  1260. #declare Lightening2 = 
  1261. texture {
  1262.     pigment {
  1263.         granite
  1264.         color_map { Lightening_CMap2 }
  1265.         turbulence 0.5
  1266.     }
  1267.     finish { ambient 1 }
  1268. }
  1269.  
  1270. // Starfield, by Jeff Burton
  1271. #declare Starfield = 
  1272. texture {
  1273.     pigment {
  1274.         granite  
  1275.         color_map {
  1276.             [0.72 rgb 0.00 ] // No Stars in this area
  1277.             [0.72 rgb 0.20 ] // Very Very Faint Stars
  1278.             [0.75 rgb 0.40 ] // Very Very Faint Stars
  1279.             [0.78 rgb 0.60 ] // Very Faint Stars
  1280.             [0.81 rgb 0.80 ] // Faint Stars
  1281.             [0.85 rgb 0.95 ] // Medium White Stars
  1282.             [0.91 rgb 1.00 ] // White Stars 
  1283.             [0.91 rgb 0.00 ] // No Stars in this area
  1284.         }
  1285.     scale .015
  1286.     }
  1287.     finish { ambient 1 }
  1288. }
  1289.  
  1290. #version Textures_Inc_Temp;
  1291. // end of file
  1292.