Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#include "consts.inc" #include "colors.inc" #include "shapes.inc" #include "finish.inc" #include "glass.inc" #include "metals.inc" #include "stones.inc" #include "woods.inc" #include "skies.inc" // Start with the sky (an infinite plane very high up) plane { <0, -1, 0>, -500 texture { pigment { SkyBlue } finish { ambient 1 diffuse 0 } } texture { pigment { bozo turbulence .5 color_map { [ 0 White ] [ 1 White filter 1 ] } } finish { ambient 1 diffuse 0 } scale <1000, 250, 250> rotate <5, 45, 0> } } // Camera section: uncomment exactly one // Camera looking at main towers camera { location <0.5, 2.05, -3.2> look_at <0, 1.0, 0.0> } //// Camera looking from east of city //camera { // location <4.8, 2.5, -0.93> // look_at <0.0, 0.2, 0.0> //} //// Camera looking from north-east of city //camera { // location <4.8, 2.5, 2.5> // look_at <0.0, 0.2, 0.0> //} //// Camera looking at main tower platform //camera { // location <0.15, 2.10, -0.45> // look_at <0.0, 2.0, 0.0> //} //// Man standing on platform //camera { // location <0.015, 2.006, -0.036> // look_at <0.015, 2.004, 0.0> //} //// Man in gardens //camera { // location <1.73, 0.206, -0.1> // look_at <1.55, 0.200, 0.0> //} //// Kormor's vertigo //camera { // location <0.0, 2.0034, -0.0615> // look_at <2.1, 0.23, 0.0> // angle 120 //} //// Man on main place //camera { // location <0.3, 0.406, 2.1> // look_at <0, 0.406, 1.5> // angle 120 //} //// Start of north bridge //camera { // location <0.0, 1.06, 0.09> // look_at <0.0, 0.4, 1.5> //} //// On corner of south pool //camera { // location <-0.121, 0.006, -1.701> // look_at <0.0, 0.4, 0.0> //} //// Atop Ardemond's tower //camera { // location <-0.667, 0.406, -1.743> // look_at <0.0, 0.406, 0.0> //} //// Romantic canals //camera { // location <0.04, 0.006, -2.75> // look_at <-1.5, 0.0, 0.0> //} //// Visitor entering city (from south) //camera { // location <-0.01, 0.006, -3.35> // look_at <0.0, 0.5, 0.0> // angle 120 //} // Useful objects #declare UnitSlope = intersection { box { <0, 0, 0>, <1, 1, 1> } plane { <0, 1, -1>, 0 } } #declare UnitStaircase = intersection { box { <0, 0, 0>, <1, 1, 1> } plane { <0, 1, -1>, 0 } } #declare TriangleRoof = intersection { box { <0, 0, 0>, <1, 1, 1> } plane { <-2, 1, 0>, 0 } plane { <2, 1, 0>, 0 translate <1, 0, 0> } } #declare UnitPool = box { <0, 0, 0>, <1, 1, 1> texture { pigment { red 0.80 green 0.82 blue 1.00 filter 0.95 } normal { ripples 0.05 frequency 80.0 } finish { reflection 0.2 refraction on ior Water_Ior } } } // Some textures #declare TekirStone = texture { // For large-scale structures of the city pigment { color red 0.81 green 0.81 blue 0.85 } finish { ambient .45 diffuse .6 phong .3 } } #declare TekirStairs = texture { // For staircases exclusively pigment { color red 0.81 green 0.81 blue 0.85 } normal { gradient <0,0,1> scale 0.0005807 } finish { ambient .45 diffuse .6 phong .3 } } #declare TekirPure = texture { // For the towers, etc. pigment { bozo turbulence 0.25 color_map { [0.0 color red 0.93 green 0.90 blue 0.90] [0.2 color red 0.90 green 0.90 blue 0.90] [0.8 color red 0.85 green 0.85 blue 0.85] [1.0 color red 0.83 green 0.83 blue 0.85] } scale 0.02 } finish { ambient .40 diffuse .65 phong .6 reflection .05 } } #declare TekirBuild = texture { // For the ordinary buildings pigment { granite color_map { [0.0 color Gray90] [1.0 color Gray80] } scale 0.006 } normal { bumps .4 scale 0.006 } finish { ambient .40 diffuse .65 phong .3 } } #declare Vegetation = texture { pigment { DarkGreen } normal { bumps .4 scale .1 } finish { ambient .7 diffuse .5 } } // Various local shapes #declare Tekir_CitySlab = merge { box { <-5.40, -0.1, -3.34>, <5.40, 0.0, 3.34> } difference { box { <-1.35, 0.0, -0.3>, <1.2, 0.1, 1.2> } box { <-0.30, 0.0, -0.18>, <0.30, 0.1001, 0.18> } } object { UnitSlope scale <2.55, 0.1, 1.2> translate <-1.35, 0.0, -1.5> } intersection { object { UnitSlope rotate <0, -90, 0> scale <0.96, 0.05, 0.06> translate <2.16, 0.0, -0.96> } object { UnitSlope scale <2.55, 0.1, 1.2> translate <0.0, 0.0, -1.5> } } } #declare Tekir_WaterSystem = merge { // Note : must go up to altitude 0.0001 box { // River Thkyrseli <0, -0.03, 0>, <1, 0.0001, 1> matrix <0.42, 0.0, 0.0, 0.0, 1.0, 0.0, -1.2, 0.0, 6.68, -3.06,0.0,-3.34> } box { // Canal to western pool <-3.3, -0.02, -0.09>, <-1.9499, 0.0001, 0.09> } box { // Canal to southern pool, ns part <-0.03, -0.01001, -2.74>, <0.03, 0.0001, -1.6999> } box { // Canal to southern pool, ew part <-3, -0.01, -2.74>, <0.09, 0.0001, -2.68> } box { // Pool near agora <0.42, -0.02, 2.22>, <0.54, 0.0001, 2.4> } box { // North-eastern canal, part 1 <0.42, -0.01, 2.28>, <1.26, 0.0001, 2.34> } box { // North-eastern canal, part 2 <1.20, -0.01001, 1.08>, <1.26, 0.0001, 2.34> } box { // North-eastern canal, part 3 <1.20, -0.01, 1.08>, <3.00, 0.0001, 1.14> } } #declare Tekir_Holes = merge { box { <-1.95, -0.01, -0.3>, <-1.35, 0.0001, 0.3> } box { <-0.12, -0.01, -1.45>, <0.12, 0.05, -1.70> } object { Tekir_WaterSystem } } #declare Tekir_EastBasin = box { <1.45, 0.19, -0.12>, <1.70, 0.2006, 0.12> } #declare Tekir_NorthBasin = box { <-0.12, 0.39, 1.45>, <0.12, 0.4002, 1.70> } // And now we actually build difference { // The outside ground plane { <0, 1, 0>, -0.0005 } object { Tekir_CitySlab } texture { Vegetation } } difference { // The city proper object { Tekir_CitySlab } object { Tekir_Holes } texture { TekirStone } } object { // West pool UnitPool scale <0.6, 0.009, 0.6> translate <-1.95, -0.01, -0.3> } object { // South pool UnitPool scale <0.24, 0.009, 0.25> translate <-0.12, -0.01, -1.70> } intersection { object { Tekir_WaterSystem } plane { <0,1,0>, -0.001 } texture { pigment { red 0.80 green 0.82 blue 1.00 filter 0.95 } normal { ripples 0.05 frequency 80.0 matrix <0.42, 0.0, 0.0, 0.0, 0.029, 0.0, -1.2, 0.0, 6.68, -3.06,-0.03,-3.34> } finish { reflection 0.2 refraction on ior Water_Ior } } } cone { // The main tower <0.0, 0.0, 0.0>, 0.09 <0.0, 2.0, 0.0>, 0.06 texture { TekirPure } } cone { // The tiny spike on the tower <-0.012, 2.0, 0.0>, 0.006 <-0.012, 2.05, 0.0>, 0.0 texture { TekirPure } } merge { // Staircases around main tower object { UnitStaircase scale <0.84, 0.1, 0.12> translate <-0.42, 0.0, 0.18> } object { UnitStaircase rotate <0, 180, 0> scale <0.84, 0.1, 0.12> translate <0.42, 0.0, -0.18> } object { UnitStaircase rotate <0, 90, 0> scale <0.12, 0.1, 0.6> translate <0.30, 0.0, 0.30> } object { UnitStaircase rotate <0, -90, 0> scale <0.12, 0.1, 0.6> translate <-0.30, 0.0, -0.30> } texture { TekirStairs } } box { // The east-west bridge <-1.5, 0.985, -0.018>, <1.5, 1.000, 0.018> texture { TekirPure } } cylinder { // West small tower <-1.5, -0.01, 0.0>, <-1.5, 1.35, 0.0>, 0.05 texture { TekirPure } } cylinder { // East small tower <1.5, 0.0, 0.0>, <1.5, 1.35, 0.0>, 0.05 texture { TekirPure } } box { // The north-south bridge <-0.018, 0.985, -1.5>, <0.018, 1.000, 1.5> texture { TekirPure } } cylinder { // South small tower <0.0, 0.0, -1.5>, <0.0, 1.35, -1.5>, 0.05 texture { TekirPure } } cylinder { // North small tower <0.0, 0.0, 1.5>, <0.0, 1.35, 1.5>, 0.05 texture { TekirPure } } box { // Bridge to Ardemond's tower <-0.69, 0.345, -0.018>, <0, 0.350, 0.018> rotate <0, -20, 0> translate <0.0, 0.0, -1.5> texture { TekirPure } } cylinder { // Ardemond's tower <-0.72, 0.0, 0.0>, <-0.72, 0.4, 0.0>, 0.03 rotate <0, -20, 0> translate <0.0, 0.0, -1.5> texture { pigment { Gray95 filter 0.3 } finish { refraction on ior 1.80 ambient .5 diffuse .5 phong 1 } } } difference { // Main place union { box { <-0.6, 0, 1.2>, <0.9, 0.4, 2.1> } box { <-1.08, 0.0, 1.32>, // Observatory base <-0.6, 0.4, 1.92> } } Tekir_NorthBasin texture { TekirStone } } difference { // Main place floor box { <-0.6, 0.4, 1.2>, <0.6, 0.4001, 2.1> } Tekir_NorthBasin texture { T_Grnt8 scale 0.01 } } union { // Stairways to main place object { UnitStaircase scale <0.06, 0.30, 0.36> translate <-0.6, 0.1, 0.84> } object { UnitStaircase scale <0.06, 0.30, 0.36> translate <-0.36, 0.1, 0.84> } object { UnitStaircase scale <0.06, 0.30, 0.36> translate <0.06, 0.1, 0.84> } object { UnitStaircase scale <0.06, 0.30, 0.36> translate <0.54, 0.1, 0.84> } texture { TekirStairs } } box { // A very big building <-0.54, 0.1, 0.84>, <-0.36, 0.35, 1.2> texture { TekirBuild } } merge { // Another, with a dome on top box { <-0.30, 0.1, 0.84>, <0.06, 0.30, 1.2> } sphere { <-0.12, 0.30, 1.08>, 0.12 } texture { TekirBuild } } box { // Yet another, slightly lower this one <0.12, 0.1, 0.84>, <0.54, 0.25, 1.2> texture { TekirBuild } } object { // North pool UnitPool scale <0.24, 0.009, 0.25> translate <-0.12, 0.39, 1.45> } box { // Agora <-0.42, 0, 2.1>, <0.42, 0.3, 2.52> texture { TekirStone } } box { // Agora floor <-0.42, 0.3, 2.1>, <0.42, 0.3001, 2.52> texture { TekirPure } } box { // Observatory <-1.08, 0.40, 1.32>, <-0.6, 0.43, 1.92> texture { TekirBuild } } sphere { // Observatory dome <-0.84, 0.43, 1.74>, 0.12 texture { T_Brass_2C scale 0.01 } } #declare Tekir_Academy = merge { box { <0.6, 0.419, 1.74>, <0.9, 0.424, 2.1> } object { TriangleRoof scale <0.3, 0.008, 0.36> translate <0.6, 0.424, 1.74> } box { <0.6, 0.400, 1.74>, <0.9, 0.4005, 2.1> } // South row of columns cylinder { <0.6020, 0.400, 1.7420>, <0.6020, 0.419, 1.7420>, 0.0015 } cylinder { <0.6267, 0.400, 1.7420>, <0.6267, 0.419, 1.7420>, 0.0015 } cylinder { <0.6513, 0.400, 1.7420>, <0.6513, 0.419, 1.7420>, 0.0015 } cylinder { <0.6760, 0.400, 1.7420>, <0.6760, 0.419, 1.7420>, 0.0015 } cylinder { <0.7007, 0.400, 1.7420>, <0.7007, 0.419, 1.7420>, 0.0015 } cylinder { <0.7253, 0.400, 1.7420>, <0.7253, 0.419, 1.7420>, 0.0015 } cylinder { <0.7500, 0.400, 1.7420>, <0.7500, 0.419, 1.7420>, 0.0015 } cylinder { <0.7747, 0.400, 1.7420>, <0.7747, 0.419, 1.7420>, 0.0015 } cylinder { <0.7993, 0.400, 1.7420>, <0.7993, 0.419, 1.7420>, 0.0015 } cylinder { <0.8240, 0.400, 1.7420>, <0.8240, 0.419, 1.7420>, 0.0015 } cylinder { <0.8487, 0.400, 1.7420>, <0.8487, 0.419, 1.7420>, 0.0015 } cylinder { <0.8733, 0.400, 1.7420>, <0.8733, 0.419, 1.7420>, 0.0015 } cylinder { <0.8980, 0.400, 1.7420>, <0.8980, 0.419, 1.7420>, 0.0015 } // North row of columns cylinder { <0.6020, 0.400, 2.0980>, <0.6020, 0.419, 2.0980>, 0.0015 } cylinder { <0.6267, 0.400, 2.0980>, <0.6267, 0.419, 2.0980>, 0.0015 } cylinder { <0.6513, 0.400, 2.0980>, <0.6513, 0.419, 2.0980>, 0.0015 } cylinder { <0.6760, 0.400, 2.0980>, <0.6760, 0.419, 2.0980>, 0.0015 } cylinder { <0.7007, 0.400, 2.0980>, <0.7007, 0.419, 2.0980>, 0.0015 } cylinder { <0.7253, 0.400, 2.0980>, <0.7253, 0.419, 2.0980>, 0.0015 } cylinder { <0.7500, 0.400, 2.0980>, <0.7500, 0.419, 2.0980>, 0.0015 } cylinder { <0.7747, 0.400, 2.0980>, <0.7747, 0.419, 2.0980>, 0.0015 } cylinder { <0.7993, 0.400, 2.0980>, <0.7993, 0.419, 2.0980>, 0.0015 } cylinder { <0.8240, 0.400, 2.0980>, <0.8240, 0.419, 2.0980>, 0.0015 } cylinder { <0.8487, 0.400, 2.0980>, <0.8487, 0.419, 2.0980>, 0.0015 } cylinder { <0.8733, 0.400, 2.0980>, <0.8733, 0.419, 2.0980>, 0.0015 } cylinder { <0.8980, 0.400, 2.0980>, <0.8980, 0.419, 2.0980>, 0.0015 } // West row of columns cylinder { <0.6020, 0.400, 1.7674>, <0.6020, 0.419, 1.7674>, 0.0015 } cylinder { <0.6020, 0.400, 1.7929>, <0.6020, 0.419, 1.7929>, 0.0015 } cylinder { <0.6020, 0.400, 1.8183>, <0.6020, 0.419, 1.8183>, 0.0015 } cylinder { <0.6020, 0.400, 1.8437>, <0.6020, 0.419, 1.8437>, 0.0015 } cylinder { <0.6020, 0.400, 1.8691>, <0.6020, 0.419, 1.8691>, 0.0015 } cylinder { <0.6020, 0.400, 1.8946>, <0.6020, 0.419, 1.8946>, 0.0015 } cylinder { <0.6020, 0.400, 1.9200>, <0.6020, 0.419, 1.9200>, 0.0015 } cylinder { <0.6020, 0.400, 1.9454>, <0.6020, 0.419, 1.9454>, 0.0015 } cylinder { <0.6020, 0.400, 1.9709>, <0.6020, 0.419, 1.9709>, 0.0015 } cylinder { <0.6020, 0.400, 1.9963>, <0.6020, 0.419, 1.9963>, 0.0015 } cylinder { <0.6020, 0.400, 2.0217>, <0.6020, 0.419, 2.0217>, 0.0015 } cylinder { <0.6020, 0.400, 2.0471>, <0.6020, 0.419, 2.0471>, 0.0015 } cylinder { <0.6020, 0.400, 2.0726>, <0.6020, 0.419, 2.0726>, 0.0015 } // East row of columns cylinder { <0.8980, 0.400, 1.7674>, <0.8980, 0.419, 1.7674>, 0.0015 } cylinder { <0.8980, 0.400, 1.7929>, <0.8980, 0.419, 1.7929>, 0.0015 } cylinder { <0.8980, 0.400, 1.8183>, <0.8980, 0.419, 1.8183>, 0.0015 } cylinder { <0.8980, 0.400, 1.8437>, <0.8980, 0.419, 1.8437>, 0.0015 } cylinder { <0.8980, 0.400, 1.8691>, <0.8980, 0.419, 1.8691>, 0.0015 } cylinder { <0.8980, 0.400, 1.8946>, <0.8980, 0.419, 1.8946>, 0.0015 } cylinder { <0.8980, 0.400, 1.9200>, <0.8980, 0.419, 1.9200>, 0.0015 } cylinder { <0.8980, 0.400, 1.9454>, <0.8980, 0.419, 1.9454>, 0.0015 } cylinder { <0.8980, 0.400, 1.9709>, <0.8980, 0.419, 1.9709>, 0.0015 } cylinder { <0.8980, 0.400, 1.9963>, <0.8980, 0.419, 1.9963>, 0.0015 } cylinder { <0.8980, 0.400, 2.0217>, <0.8980, 0.419, 2.0217>, 0.0015 } cylinder { <0.8980, 0.400, 2.0471>, <0.8980, 0.419, 2.0471>, 0.0015 } cylinder { <0.8980, 0.400, 2.0726>, <0.8980, 0.419, 2.0726>, 0.0015 } texture { TekirBuild } } object { Tekir_Academy } // Academy of Science object { // Academy of Science Tekir_Academy translate <0, 0, -0.54> } object { // Stairway to gardens UnitStaircase rotate <0, -90, 0> scale <0.24, 0.2, 1.8> translate <2.94, 0.0, -0.9> texture { TekirStairs } } box { // Park between academies <0.6, 0.4, 1.56>, <0.9, 0.4005, 1.74> texture { Vegetation } } difference { // Gardens merge { box { <1.2, 0, -0.9>, <2.7, 0.2, 0.9> } cylinder { <2.7, 0, 0>, <2.7, 0.2, 0>, 0.3 } } object { Tekir_EastBasin } texture { TekirStone } } difference { // Gardens ground merge { box { <1.2, 0.2, -0.9>, <2.7, 0.2005, 0.9> } cylinder { <2.7, 0.2, 0>, <2.7, 0.2005, 0>, 0.3 } } object { Tekir_EastBasin } texture { Vegetation } } object { // East pool UnitPool scale <0.25, 0.01, 0.24> translate <1.45, 0.19, -0.12> } union { // Gingko tree cylinder { <2.0, 0.2, 0> <2.0, 0.23, 0>, 0.005 texture { pigment { Brown } finish { ambient .5 diffuse .5 } } } sphere { <2.0, 0.23, 0>, 0.01 texture { pigment { SpringGreen } finish { ambient .6 diffuse .4 } } } } difference { // Library box { <1.5, 0.0, 1.2>, <2.7, 0.08, 1.92> } box { <1.55, 0.024, 1.25>, <2.65, 0.8001, 1.87> } texture { TekirBuild } } object { // Staircase leading up to central elevation UnitStaircase rotate <0, -90, 0> scale <0.12, 0.1, 0.18> translate <1.32, 0.0, 0.9> texture { TekirStairs } } object { // More stairs leading up to central elevation UnitStaircase rotate <0, 180, 0> scale <0.3, 0.1, 0.12> translate <1.2, 0.0, 1.32> texture { TekirStairs } } box { // More buildings... <0.48, 0.1, 0.06> <1.08, 0.14, 0.3> texture { TekirBuild } } box { // More buildings... <0.48, 0.1, -0.3> <1.08, 0.14, -0.06> texture { TekirBuild } } merge { // More buildings (on a nasty slope)... box { <0.48, 0.05, -0.9> <1.08, 0.106, -0.612> } box { <0.48, 0.05, -0.612> <1.08, 0.13, -0.36> } texture { TekirBuild } } merge { // More buildings (also on slope)... box { <0.48, 0.0, -1.56> <1.08, 0.033, -1.26> } box { <0.48, 0.0, -1.26> <1.08, 0.058, -0.96> } texture { TekirBuild } } merge { // More high buildings, including Leo's tower box { <1.2, 0.0, -1.56> <2.19, 0.05, -0.96> } box { // Leo's tower <1.2, 0.05, -1.2>, <1.44, 0.25, -0.96> } box { // Leo's private bridge <1.2, 0.195, -0.96> <1.218, 0.20, -0.90> } texture { TekirBuild } } box { // More buildings... <2.25, 0.0, -1.56>, <3.00, 0.04, -0.96> texture { TekirBuild } } #declare Tekir_StreetCut1 = plane { <-0.28, 0, -0.75>, 0 translate <3.0, 0.0, -3.28> } intersection { // More buildings, including the Full Moon's inn box { <0.60, 0.0, -3.28>, <1.08, 0.04, -1.62> } object { Tekir_StreetCut1 } texture { TekirBuild } } box { // More buildings, including the Art and Manner's shop <1.20, 0.0, -2.16>, <1.62, 0.032, -1.62> texture { TekirBuild } } intersection { // More buildings... box { <1.20, 0.0, -3.28>, <1.62, 0.032, -2.22> } object { Tekir_StreetCut1 } texture { TekirBuild } } box { // More buildings... <1.71, 0.0, -2.16>, <2.19, 0.032, -1.62> texture { TekirBuild } } intersection { // More buildings... box { <1.71, 0.0, -3.28>, <2.19, 0.032, -2.22> } object { Tekir_StreetCut1 } texture { TekirBuild } } box { // More buildings... <2.25, 0.0, -2.16>, <3.00, 0.024, -1.62> texture { TekirBuild } } difference { // More buildings... box { <2.25, 0.0, -3.00>, <3.00, 0.024, -2.22> } box { <2.55, -0.0001, -2.70>, <3.0001, 0.0241, -2.64> } texture { TekirBuild } } intersection { // More buildings... box { <2.25, 0.0, -3.28>, <3.00, 0.032, -3.06> } object { Tekir_StreetCut1 } texture { TekirBuild } } merge { // Table on platform intersection { difference { cylinder { <0.024, 2.003, 0.0>, <0.024, 2.004, 0.0>, 0.024 } cylinder { <0.024, 2.0029, 0.0>, <0.024, 2.0041, 0.0>, 0.021 } } plane { <1, 0, -1>, 0.001 translate <0.024, 0.0, 0.0> } } cylinder { <0.0081, 2.0, -0.0159>, <0.0081, 2.0035, -0.0159>, 0.0005 } cylinder { <0.0081, 2.0, 0.0159>, <0.0081, 2.0035, 0.0159>, 0.0005 } cylinder { <0.0399, 2.0, 0.0159>, <0.0399, 2.0035, 0.0159>, 0.0005 } texture { T_Wood2 scale 0.003 rotate <3, 0, 0> } } merge { // Other table on platform box { <-0.0165, 2.003, -0.0015>, <0.0165, 2.004, 0.0015> } cylinder { <-0.0155, 2.0, -0.001>, <-0.0155, 2.0035, -0.001>, 0.0003 } cylinder { <-0.0155, 2.0, 0.001>, <-0.0155, 2.0035, 0.001>, 0.0003 } cylinder { <0.0155, 2.0, -0.001>, <0.0155, 2.0035, -0.001>, 0.0003 } cylinder { <0.0155, 2.0, 0.001>, <0.0155, 2.0035, 0.001>, 0.0003 } translate <0, 0, -0.006> rotate <0, -45, 0> translate <0.024, 0.0, 0.0> texture { T_Wood2 scale 0.003 rotate <3, 0, 0> } } merge { // Last stairs to main tower #declare i = 1 #while (i<=15) box { <-0.000348, 1.99975-(i*0.000580720092915), -0.063>, <0.000348, 2.00000-(i*0.000580720092915), -0.0059> rotate <0, (i-1)*0.6654562, 0> } #declare i = i+1 #end texture { TekirPure } } light_source { <-0.012, 2.05004 0.0> color White*0.4 fade_distance 3 fade_power 1 looks_like { sphere { <0, 0, 0>, 0.004 } texture { pigment { color White } finish { ambient 1 diffuse 0 } } } } light_source { // The sun <180, 499, -250> color red 1.000 green 0.993 blue 0.935 }