Artwork | Email

Pov-Ray source for smoothblock-peoplenet


// Persistence of Vision Ray Tracer Scene Description File
// File: smoothblocks-peoplenet.pov
// Vers: 3.5
// Desc: Inspired by "Stranger" by killerkash
// Date: 7/14/2008
// Auth: Jim Lowell - jlowell@visi.com

#version 3.6

#include "colors.inc"
#include "textures.inc"
#include "metals.inc"

camera
{
  location  <-3,4,-5>
  look_at   <0,0.5,0>
  focal_point <0,0.5,0>
  aperture 0.35
  blur_samples 800
  confidence 0.95
  variance 1/200
}

sky_sphere { pigment { White } }

/* BEGIN DECLARATION OF PEOPLENET LOGO OBJECT */
#declare peoplenet_logo=union {

  /* Black swoopey thing */
  prism {
     bezier_spline
     0, 1, 48,
     <0,0>, <1,5.6>, <12,8.2>, <22.4,8>,
     <22.4,8>, <32.4,7.8>, <42,4.7>, <42,0.7>,
     <42,0.7>, <42.1,-4>, <32,-6.8>, <22.1,-6.5>,
     <22.1,-6.5>, <9.2,-6>, <5.8,-2.2>, <5.4,-1.8>,
     <5.4,-1.8>, <5.2,-1.6>, <5.4,-1.5>, <5.7,-1.7>,
     <5.7,-1.7>, <6.1,-1.95>, <9.2,-4.1>, <16.2,-4.6>,
     <16.2,-4.6>, <28.3,-5.2>, <38.2,-3>, <38,0>,
     <38,0>, <37.1,5.5>, <5.95,6.95>, <2.6,-1.4>,
     <2.6,-1.4>, <1.8,-3.5>, <5.8,-5.4>, <7.9,-6.35>,
     <7.9,-6.35>, <10.25,-7.2>, <14.15,-7.85>, <16.7,-8.1>,
     <16.7,-8.1>, <17.15,-8.2>, <17.1,-8.6>, <16.6,-8.52>,
     <16.6,-8.52>, <2.2,-7.2>, <-0.45,-2.1>, <0,0>

    translate <-19,0,0>
  }
  
  /* Blue dot in the middle */
  cylinder {
    <-2,0,0>,<-2,1,0>,2.5
  }

  /* Blue arch to the left of the blue dot */
  difference {
    cylinder { <0,0,0>,<0,0.9,0>,1 }
    cylinder { <0.6,-1,0>,<0.6,2,0>,1.5 }
    translate <0.7,0,0>
    scale <34,1,34>
    translate <0,0,-6>
  }
}
/* END DECLARATION OF PEOPLENET LOGO OBJECT */

#declare ablockpiece = superellipsoid { <0.2, 0.2> scale 0.48 translate <0.5,0.5,0.5> }
#declare atallblock= union {
  object { ablockpiece }
  object { ablockpiece translate <0,-0.5,0> }  // Union rounded blocks together with vertical offset to create a tall block with uniformly rounded corners
  object { ablockpiece translate <0,-1.0,0> }  // Union rounded blocks together with vertical offset to create a tall block with uniformly rounded corners
  object { ablockpiece translate <0,-1.5,0> }  // Union rounded blocks together with vertical offset to create a tall block with uniformly rounded corners
}

#declare ablock=difference {
  object { atallblock }
  object { peoplenet_logo scale <0.013,0.1,0.013> translate <0.45,0.93,0.55> pigment { rgb <0.5,0.5,1.0> } finish { ambient 0.5 } }
}

#declare hot_lava = pigment {
  marble
  color_map {
    [0.00 color Black]
    [0.2 color Red]
    [1.0 color Yellow]
  }
  scale 40
}

#declare R1 = seed(1);

/* Lay down the block floor */
#declare I=-20;
#while (I<30)
  #declare J=-20;
  #while (J < 30)
    #if (I=0)
      #if (J = 6)
        object { ablock translate <I,rand(R1)*1.5,J> pigment { rgb <0.8,0.8,3> } finish { ambient 0.5 diffuse 0.0 reflection 0.3 } }
      #else
        object { ablock translate <I,rand(R1)*1.5,J> pigment { rgb <0.6,0.6,0.8> } finish { Dull reflection 0.3 } }
      #end
    #else
      object { ablock translate <I,rand(R1)*1.5,J> pigment { rgb <0.6,0.6,0.8> } finish { Dull reflection 0.3 } }
    #end
    #declare J=J+1;
  #end
  #declare I=I+1;
#end  

plane { y,-2000 pigment { hot_lava } finish { ambient 1.0 } }

light_source {
  0*x                  // light's position (translated below)
  color rgb <5,0,0>    // light's color
  translate <0,-1999,0>
}
 
light_source {
  0*x                   // light's position (translated below)
  color rgb 0.2         // light's color
  area_light
  <32, 0, 0> <0, 0, 32> // lights spread out across this distance (x * z)
  4, 4                  // total number of lights in grid (4x*4z = 16 lights)
  adaptive 0            // 0,1,2,3...
  jitter                // adds random softening of light
  circular              // make the shape of the light circular
  orient                // orient light
  translate <0, 200, 0> // <x y z> position of light
}