home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / atari / GRAPHX / POV / 68030.060 / POV31G30 / POVRAY_3.1G / INCLUDE / METALS.INC < prev    next >
Text File  |  1999-10-30  |  13KB  |  270 lines

  1. #ifdef(Metals_Inc_Temp)
  2. // do nothing
  3. #else
  4. #declare Metals_Inc_Temp=version;
  5.  
  6. #ifdef(View_POV_Include_Stack)
  7. #   debug "including metals.inc\n"
  8. #end
  9.  
  10. /*
  11.               Persistence of Vision Raytracer Version 3.1
  12.                Metallic pigments, finishes, and textures.
  13.  
  14.  
  15. *****************************************************************************
  16.                            BASIC METAL COLORS
  17. *****************************************************************************
  18.  Note: Describing metallic textures is difficult, at best.  The reflectivity
  19.  and other qualities make them highly dependant on lighting and surroundings.
  20.  
  21.  The following notes are intended as a rough guide only.
  22.  P_Brass1: Dark brown bronze.
  23.  P_Brass2: Somewhat lighter brown than Brass4. Old penny, in soft finishes.
  24.  P_Brass3: Used by Steve Anger's Polished_Brass. Slightly coppery.
  25.  P_Brass4: A little yellower than Brass1.
  26.  P_Brass5: Very light bronze, ranges from med tan to almost white.
  27.  
  28.  P_Copper1: bronze-like.  Best in finish #C.
  29.  P_Copper2: slightly brownish copper/bronze.  Best in finishes #B-#D.
  30.  P_Copper3: reddish-brown copper.  Best in finishes #C-#E.
  31.  P_Copper4: pink copper, like new tubing.  Best in finishes #C-#E.
  32.  P_Copper5: Bronze in softer finishes, gold in harder finishes.
  33.  
  34.  P_Chrome1: 20% Gray. Used in Steve Anger's Polished_Chrome.
  35.  P_Chrome2: Slightly blueish 60% gray. Good steel w/finish #A
  36.  P_Chrome3: 50% neutral gray.
  37.  P_Chrome4: 75% neutral gray.
  38.  P_Chrome5: 95% neutral gray.
  39.  
  40.  P_Silver1: Yellowish silverplate.  Somewhat tarnished looking.
  41.  P_Silver2: Not quite as yellowish as Silver1 but more so than Silver3.
  42.  P_Silver3: Reasonably neutral silver.
  43.  P_Silver4: REDUNDANT (unused)
  44.  P_Silver5: REDUNDANT (unused)
  45.  
  46. */
  47.  
  48. #include "golds.inc"
  49.  
  50. #declare P_Brass1    = color rgb <0.30, 0.20, 0.10>;
  51. #declare P_Brass2    = color rgb <0.50, 0.35, 0.25>;
  52. #declare P_Brass3    = color rgb <0.58, 0.42, 0.20>;
  53. #declare P_Brass4    = color rgb <0.65, 0.50, 0.25>;
  54. #declare P_Brass5    = color rgb <0.70, 0.55, 0.40>;
  55.  
  56. #declare P_Copper1   = color rgb <0.40, 0.20, 0.15>;
  57. #declare P_Copper2   = color rgb <0.50, 0.25, 0.15>;
  58. #declare P_Copper3   = color rgb <0.60, 0.30, 0.15>;
  59. #declare P_Copper4   = color rgb <0.70, 0.25, 0.15>;
  60. #declare P_Copper5   = color rgb <0.65, 0.35, 0.15>;
  61.  
  62. #declare P_Chrome1   = color rgb <0.20, 0.20, 0.20>;
  63. #declare P_Chrome2   = color rgb <0.39, 0.41, 0.43>;
  64. #declare P_Chrome3   = color rgb <0.50, 0.50, 0.50>;
  65. #declare P_Chrome4   = color rgb <0.75, 0.75, 0.75>;
  66. #declare P_Chrome5   = color rgb <0.95, 0.95, 0.95>;
  67.  
  68. #declare P_Silver1   = color rgb <0.94, 0.93, 0.80>;
  69. #declare P_Silver2   = color rgb <0.94, 0.93, 0.85>;
  70. #declare P_Silver3   = color rgb <0.94, 0.93, 0.90>;
  71. #declare P_Silver4   = color rgb <0.95, 0.91, 0.91>;             
  72. #declare P_Silver5   = color rgb <0.91, 0.95, 0.91>;   
  73.  
  74. //*****************************************************************************
  75. //                           BASIC METAL FINISHES
  76. //*****************************************************************************
  77.  
  78. // F_MetalA  :  Very soft and dull.  
  79. // F_MetalB  :  Fairly soft and dull.
  80. // F_MetalC  :  Medium reflectivity. Holds color well.
  81. // F_MetalD  :  Highly hard and polished. High reflectivity.   
  82. // F_MetalE  :  Very highly polished & reflective.
  83.  
  84. #declare F_MetalA  =
  85. finish {
  86.     ambient 0.35
  87.     brilliance 2
  88.     diffuse 0.3
  89.     metallic
  90.     specular 0.80
  91.     roughness 1/20
  92.     reflection 0.1
  93. }
  94.  
  95. #declare F_MetalB  = 
  96. finish {
  97.     ambient 0.30
  98.     brilliance 3
  99.     diffuse 0.4
  100.     metallic
  101.     specular 0.70
  102.     roughness 1/60
  103.     reflection 0.25
  104. }
  105.  
  106. #declare F_MetalC  =
  107. finish {
  108.     ambient 0.25
  109.     brilliance 4
  110.     diffuse 0.5
  111.     metallic
  112.     specular 0.80
  113.     roughness 1/80
  114.     reflection 0.5
  115. }
  116.  
  117. #declare F_MetalD  =
  118. finish {
  119.     ambient 0.15
  120.     brilliance 5
  121.     diffuse 0.6
  122.     metallic
  123.     specular 0.80
  124.     roughness 1/100
  125.     reflection 0.65
  126. }
  127.  
  128. #declare F_MetalE  =
  129. finish {
  130.     ambient 0.1
  131.     brilliance 6
  132.     diffuse 0.7
  133.     metallic
  134.     specular 0.80
  135.     roughness 1/120
  136.     reflection 0.8
  137. }
  138.  
  139. //*****************************************************************************
  140. //                           METAL TEXTURES
  141. //*****************************************************************************
  142.  
  143. //                              BRASSES
  144. #declare T_Brass_1A = texture { pigment { P_Brass1 } finish { F_MetalA  } }
  145. #declare T_Brass_1B = texture { pigment { P_Brass1 } finish { F_MetalB  } }
  146. #declare T_Brass_1C = texture { pigment { P_Brass1 } finish { F_MetalC  } }
  147. #declare T_Brass_1D = texture { pigment { P_Brass1 } finish { F_MetalD  } }
  148. #declare T_Brass_1E = texture { pigment { P_Brass1 } finish { F_MetalE  } }
  149.  
  150. #declare T_Brass_2A = texture { pigment { P_Brass2 } finish { F_MetalA  } }
  151. #declare T_Brass_2B = texture { pigment { P_Brass2 } finish { F_MetalB  } }
  152. #declare T_Brass_2C = texture { pigment { P_Brass2 } finish { F_MetalC  } }
  153. #declare T_Brass_2D = texture { pigment { P_Brass2 } finish { F_MetalD  } }
  154. #declare T_Brass_2E = texture { pigment { P_Brass2 } finish { F_MetalE  } }
  155.  
  156. #declare T_Brass_3A = texture { pigment { P_Brass3 } finish { F_MetalA  } }
  157. #declare T_Brass_3B = texture { pigment { P_Brass3 } finish { F_MetalB  } }
  158. #declare T_Brass_3C = texture { pigment { P_Brass3 } finish { F_MetalC  } }
  159. #declare T_Brass_3D = texture { pigment { P_Brass3 } finish { F_MetalD  } }
  160. #declare T_Brass_3E = texture { pigment { P_Brass3 } finish { F_MetalE  } }
  161.  
  162. #declare T_Brass_4A = texture { pigment { P_Brass4 } finish { F_MetalA  } }
  163. #declare T_Brass_4B = texture { pigment { P_Brass4 } finish { F_MetalB  } }
  164. #declare T_Brass_4C = texture { pigment { P_Brass4 } finish { F_MetalC  } }
  165. #declare T_Brass_4D = texture { pigment { P_Brass4 } finish { F_MetalD  } }
  166. #declare T_Brass_4E = texture { pigment { P_Brass4 } finish { F_MetalE  } }
  167.  
  168. #declare T_Brass_5A = texture { pigment { P_Brass5 } finish { F_MetalA  } }
  169. #declare T_Brass_5B = texture { pigment { P_Brass5 } finish { F_MetalB  } }
  170. #declare T_Brass_5C = texture { pigment { P_Brass5 } finish { F_MetalC  } }
  171. #declare T_Brass_5D = texture { pigment { P_Brass5 } finish { F_MetalD  } }
  172. #declare T_Brass_5E = texture { pigment { P_Brass5 } finish { F_MetalE  } }
  173.  
  174. //                           COPPERS & BRONZES
  175. #declare T_Copper_1A = texture { pigment { P_Copper1 } finish { F_MetalA  } }
  176. #declare T_Copper_1B = texture { pigment { P_Copper1 } finish { F_MetalB  } }
  177. #declare T_Copper_1C = texture { pigment { P_Copper1 } finish { F_MetalC  } }
  178. #declare T_Copper_1D = texture { pigment { P_Copper1 } finish { F_MetalD  } }
  179. #declare T_Copper_1E = texture { pigment { P_Copper1 } finish { F_MetalE  } }
  180.                                            
  181. #declare T_Copper_2A = texture { pigment { P_Copper2 } finish { F_MetalA  } }
  182. #declare T_Copper_2B = texture { pigment { P_Copper2 } finish { F_MetalB  } }
  183. #declare T_Copper_2C = texture { pigment { P_Copper2 } finish { F_MetalC  } }
  184. #declare T_Copper_2D = texture { pigment { P_Copper2 } finish { F_MetalD  } }
  185. #declare T_Copper_2E = texture { pigment { P_Copper2 } finish { F_MetalE  } }
  186.                                            
  187. #declare T_Copper_3A = texture { pigment { P_Copper3 } finish { F_MetalA  } }
  188. #declare T_Copper_3B = texture { pigment { P_Copper3 } finish { F_MetalB  } }
  189. #declare T_Copper_3C = texture { pigment { P_Copper3 } finish { F_MetalC  } }
  190. #declare T_Copper_3D = texture { pigment { P_Copper3 } finish { F_MetalD  } }
  191. #declare T_Copper_3E = texture { pigment { P_Copper3 } finish { F_MetalE  } }
  192.                                            
  193. #declare T_Copper_4A = texture { pigment { P_Copper4 } finish { F_MetalA  } }
  194. #declare T_Copper_4B = texture { pigment { P_Copper4 } finish { F_MetalB  } }
  195. #declare T_Copper_4C = texture { pigment { P_Copper4 } finish { F_MetalC  } }
  196. #declare T_Copper_4D = texture { pigment { P_Copper4 } finish { F_MetalD  } }
  197. #declare T_Copper_4E = texture { pigment { P_Copper4 } finish { F_MetalE  } }
  198.                                            
  199. #decl