#include "colors.inc" #include "golds.inc" #include "metals.inc" #include "woods.inc" #include "transforms.inc" #include "shapes.inc" #include "math.inc" camera { perspective location <0, 0, -25> look_at <0, 0, 0> right x*image_width/image_height } light_source { <-5, 10, -20> color rgb 1.0 } light_source { <-5, 10, 20> color rgb 1.0 } #declare I_Glass_Caustics2= interior { ior 1.5 caustics 1.0 fade_distance 1 fade_power 1001 } #declare F_Glass5 = finish { specular 0.7 roughness 0.001 ambient 0 diffuse 0 reflection { 0.2, 1.0 fresnel on } conserve_energy } #declare F_Glass3 = finish { ambient 0.1 diffuse 0.1 reflection 0.1 specular 0.8 roughness 0.003 phong 1 phong_size 400 } #declare T_Glass3 = texture { pigment { color rgbf <0.98, 0.98, 0.98, 0.9> } finish { F_Glass3 } } #declare I_Glass = interior { ior 1.5 } // An infinite planar surface // plane {, D } where: A*x + B*y + C*z = D plane { z, // unit surface normal, vector points "away from surface" 20 // distance from the origin in the direction of the surface normal hollow on // has an inside pigment? pigment {Red} } // rotate a 2-D outline of points around the Y axis to create a 3-D shape lathe { linear_spline // linear_spline | quadratic_spline | cubic_spline 10, // number of points <5, 7>, <3, 0>, <9, 5>, <1, 5>, <1, 10>, <4,7>, <1,8>, <3,1>, <5,3>, <3,5> // the list of points texture { T_Glass3 } interior {I_Glass} // Move object or texture relative to current position // example: translate -5.0*z translate <0, -3, -1.0> // // rotate shape or texture around <0 0 0>, relative to current orientation // example: rotate 30*x rotate <90, 120, 100> // (in degrees) }