POV-Ray : Newsgroups : povray.binaries.scene-files : REAL Men Play ROCKET CHESS! Server Time
26 Apr 2024 04:28:45 EDT (-0400)
  REAL Men Play ROCKET CHESS! (Message 1 to 1 of 1)  
From: author
Subject: REAL Men Play ROCKET CHESS!
Date: 8 Feb 2005 08:35:01
Message: <web.4208bfe95bb1e0e05a9431fb0@news.povray.org>
Here's the scene file as requested:

--------------------------------------------------------------------

// PoVRay 3.6 Scene File " ... .pov"
// created by   ...
// Date:   ...
//--------------------------------------------------------------------------
#version 3.6;
global_settings {  assumed_gamma 1.0 }
//--------------------------------------------------------------------------

global_settings { assumed_gamma 1.7 }
global_settings { noise_generator 1 }

#include "colors.inc"
#include "textures.inc"
#include "glass.inc"
#include "metals.inc"
#include "golds.inc"
#include "stones.inc"
#include "woods.inc"
#include "shapes.inc"
#include "shapes2.inc"
#include "functions.inc"
#include "math.inc"
#include "transforms.inc"
#include "chesspieces.inc"

//--------------------------------------------------------------------------
// camera ------------------------------------------------------------------
#declare Camera_0 = camera {ultra_wide_angle angle 35          // front view
                            location  <0.0 , 7.0 ,-60.0>
                            right     x*image_width/image_height
                            look_at   <0 , 4.0 , 0.0>}
#declare Camera_1 = camera {ultra_wide_angle angle 90       // diagonal view
                            location  <2.0 , 2.5 ,-3.0>
                            right     x*image_width/image_height
                            look_at   <0.0 , 1.0 , 0.0>}
#declare Camera_2 = camera {ultra_wide_angle angle 90     // right side view
                            location  <3.0 , 1.0 , 0.0>
                            right     x*image_width/image_height
                            look_at   <0.0 , 1.0 , 0.0>}
#declare Camera_3 = camera {ultra_wide_angle angle 90            // top view
                            location  <0.0 , 3.0 ,-0.001>
                            right     x*image_width/image_height
                            look_at   <0.0 , 1.0 , 0.0>}

#declare Camera_anim = camera {
  angle    35
  location <30.0 , 10.0 ,-100.0>
  right    x*image_width/image_height
  look_at  <0, 10, 0>
  rotate   <0,360*(clock+0.10),0>
}

#declare Radiosity=on;

global_settings {
  assumed_gamma 1.0
  //max_trace_level 25
  #if (Radiosity)
    radiosity {
      pretrace_start 0.08           // start pretrace at this size
      pretrace_end   0.04           // end pretrace at this size
      count 35                      // higher -> higher quality (1..1600)
[35]
      nearest_count 5               // higher -> higher quality (1..10) [5]
      error_bound 1.8               // higher -> smoother, less accurate
[1.8]
      recursion_limit 3             // how much interreflections are
calculated (1..5+) [3]
      low_error_factor .5           // reduce error_bound during last
pretrace step
      gray_threshold 0.0            // increase for weakening colors (0..1)
[0]
      minimum_reuse 0.015           // reuse of old radiosity samples
[0.015]
      brightness 1                  // brightness of radiosity effects
(0..1) [1]

      adc_bailout 0.01/2
      //normal on                   // take surface normals into account
[off]
      //media on                    // take media into account [off]
      //save_file "file_name"       // save radiosity data
      //load_file "file_name"       // load saved radiosity data
      //always_sample off           // turn sampling in final trace off [on]
      //max_sample 1.0              // maximum brightness of samples
    }
  #end
}

camera{Camera_anim}
// sun ---------------------------------------------------------------------
light_source{< 1500,2500,-2500> color White}
// sky ---------------------------------------------------------------------
// STARFIELD
   #declare star_count = 2000;
   #declare star_scale = .5;
   #include "GALAXY.SF"

   #declare galaxy_seed = 1;
   #declare star_count = 500;
   #declare star_type = 3;
   #declare star_colour = <1, .9, .7>;
   #declare star_scale = .3;
   #include "GALAXY.SF"

// PINK NEBULA
   #declare galaxy_colour1 = <1.2, 1, 1.1>;
   #declare galaxy_colour2 = <1, .3, .6>;
   #declare galaxy_pattern_origin = x * 1;
   #declare galaxy_turb_origin = x * -4;
   #declare galaxy_object_name = "Nebula3"
   #declare galaxy_object_scale = 1.75;
   #declare galaxy_object_position = <-5, 5, 0>;
   #declare galaxy_cluster_name = ""
   #include "GALAXY.OBJ"

// BLUE NEBULA
   #declare galaxy_colour1 = <.5, .9, 1.2>;
   #declare galaxy_colour2 = <.1, .3, .5>;
   #declare galaxy_pattern_origin = x * -20;
   #declare galaxy_object_name = "Nebula2"
   #declare galaxy_object_scale = 1.2;
   #declare galaxy_object_position = <10, -12, 0>;
   #include "GALAXY.OBJ"
// fog ---------------------------------------------------------------------
fog{fog_type   2
    distance   50
    color      White
    fog_offset 0.1
    fog_alt    2.0
    turbulence 0.8}
// ground ------------------------------------------------------------------
plane{ <0,1,0>, 0
       texture{ pigment{ checker color White color Black }
                finish { ambient 0.1 diffuse 0.9 phong 1 }
                rotate<0,0,0> scale 0.25 translate<0,0,0>
              } // end of texture
              scale<40,40,40>

     } // end of plane
//--------------------------------------------------------------------------
//---------------------------- objects in scene ----------------------------
//--------------------------------------------------------------------------

//----------- rocket ----------------------------





#declare rocketflame=

union {


/* Rocket Nozzle */

#declare N=
function {

(sin(0.667*pow(x,4))-pow(1.04*pow(x,2),1.12)-pow(y,2)-pow(z,2)+0.4)-0.0333*x
}

#declare Nozzle=
isosurface {
 function {
  abs(N(x,y,z))-0.03
 }
 contained_by {
  box {<-1.4,-0.75,-0.75>,<-0.125,0.75,0.75>}
 }

 max_gradient 2
 //all_intersections
 texture {
  pigment {
   gradient x
   color_map { // nozzle's heated colors
    [0 color rgb 0.5]
    [0.3 color rgb <5,0.5,0>]
    [1 color rgb <8,5,0.5>]
   }
   scale 1.1
  }
  normal {
   gradient x 0.6 scallop_wave scale 0.05
  }
  finish {
   ambient 0.05 diffuse 0.3 specular 0.5 roughness 0.01
  }
 }
 scale <1.5,1,1> //translate x
}

/* Exhaust Plume */

#declare S=
density {
 function {N(x,y,z)}//spherical
 density_map {
  [0 rgb 0]
  [0.0125 rgb <0.1,0.3,0.9>]
  [0.1 rgb <0.1,0.3,0.9>*0.02]
  [0.6 rgb <0.1,0.3,0.9>*0.06]
  [1 rgb <0.1,0.3,0.9>]
 }
 translate -x/6
}

#declare GS=
density {
 gradient x
 density_map {
  [0 S]
  [0.5 rgb 0]
 }
}

#declare C=
density {
 cylindrical
 density_map {
  [0.1 rgb 0]
  [0.25 rgb <0.9,0.3,0.6>*0.25]
  [0.5 rgb <0.9,0.3,0.6>*2]
  [0.75 rgb <0.9,0.3,0.6>*0.25]
  [0.9 rgb 0]
 }
 poly_wave 0.8
 warp {turbulence <0.2+0.1*clock,0,0.2+0.1*clock>}
 warp {repeat y/4 flip y}
 warp {turbulence <0.2,0,0.2>*clock}
 scale <1/3-0.15*clock,1/3,1/3-0.15*clock> //rotate 90*z
}

#declare G=
density {
 gradient y
 density_map {
  [0.1 rgb 0]
  [0.2 rgb 0.05]
  [0.5 C]
  [0.6 C]
  [0.8 rgb 0.05]
  [0.9 rgb 0]
 }
 poly_wave 0.4 frequency 8
}

#declare GC=
density {
 cylindrical
 density_map {
  [0.25 rgb 0]
  [0.75 G]
  [1 rgb 0]
 }
 rotate 90*z
}

#declare X=
function(x) {x}


#declare Exhaust=
sphere {
 0,1
 scale <0.5,1,1> translate -0.5*x
 pigment {
  color rgbt 1
 }
 interior {
  media {
   samples 15
   emission 1.5
   density {
    function {abs(X(x))}
    density_map {
     [0 rgb 0]
     [0.5 GC]
     [0.75 GS]
    }
   }
  }
  media {
   samples 15
   absorption 0.5
   density {
    function {abs(X(x))}
    density_map {
     [0 rgb 0]
     [0.5 GC]
     [0.75 GS]
    }
   }
  }
 }
 scale <12,1.5+1.5*clock,1.5+1.5*clock> translate <11.2+0.4*clock,0,0>
 hollow
}

/* Finished Nozzle */

union {
 object {
  Nozzle
 }
 object {
  Exhaust
 }
 translate -3*x
 rotate 75*clock*y
}

rotate <-90,0,0>

}





union {


union {Queen

         texture{ Gold_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------

}

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}
rotate <-20,0,10> translate <10,14,0>

}



union {


union {Queen

         texture{ Silver_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------

}

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}
rotate <-10,0,5> translate <5,12,-30>

}



union{
union {Rook

         texture{ Silver_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 1 }
                  scale 0.5
          }
          }

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}
translate <-10,6,0> rotate<30,0,-20>
}



union{

union {King

         texture{ Gold_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------
                }

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}

translate <-20,8,10>

}



 union{
 union {Bishop

         texture{ Silver_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------


                }

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}
translate <-30,4,20> rotate<40,0,0>

}

union{

 union {King

         texture{ Silver_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------

                 }

object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}

translate <15,18,30>

}


union{

 union {Bishop

         texture{ Gold_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------

                }
object {rocketflame rotate<0,0,-90> scale 2 translate<0,-7,0>}
translate <-30,25,-55> rotate<-40,0,0>

}




 union {Knight

         texture{ Gold_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------



translate <-2,0,-65> rotate<0,70,0>

}










//----------------- pawns ----------------------------




 #declare Pawns= union{

 Pawn

         texture{ Gold_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------



}


 #declare Pawnss= union{

 Pawn

         texture{ Silver_Metal
                  finish { ambient 0.15 diffuse 0.85 phong 0.1  }
                  scale 0.5
                } // end of texture ---------------------------



}


#declare Random_1 = seed (71053); // Use: "rand(Random_1)"
#declare Random_2 = seed ( 4953); // Use: "rand(Random_2)"


union{
 // outer loop
 #declare NrX = -1;    // start x
 #declare EndNrX = 2; // end   x
 #while (NrX< EndNrX)
       // inner loop
       #declare NrZ = 0;    // start z
       #declare EndNrZ = 3; // end   z
       #while (NrZ< EndNrZ)

       object{ Pawns

        //    translate<NrX*0.5 0.15 NrZ*0.5>}
              translate<  NrX*25 + 25*(-0.5+rand(Random_1)) ,
                          0.15 ,
                          NrZ*25 + 25*(-0.5+rand(Random_2))
                        >
            } // end of sphere

       #declare NrZ = NrZ + 1;  // next Nr z
       #end // --------------- end of loop z
       // end inner loop
 #declare NrX = NrX + 1;  // next Nr x
 #end // --------------- end of loop x
 // end of outer loop
rotate<0,0,0>
translate<0,0.0,-50>} // end of union



#declare Random_1 = seed (71053); // Use: "rand(Random_1)"
#declare Random_2 = seed ( 4953); // Use: "rand(Random_2)"


union{
 // outer loop
 #declare NrX = -1;    // start x
 #declare EndNrX = 2; // end   x
 #while (NrX< EndNrX)
       // inner loop
       #declare NrZ = 0;    // start z
       #declare EndNrZ = 3; // end   z
       #while (NrZ< EndNrZ)

       object{ Pawnss

        //    translate<NrX*0.5 0.15 NrZ*0.5>}
              translate<  NrX*25 + 25*(-0.5+rand(Random_1)) ,
                          0.15 ,
                          NrZ*25 + 25*(-0.5+rand(Random_2))
                        >
            } // end of sphere

       #declare NrZ = NrZ + 1;  // next Nr z
       #end // --------------- end of loop z
       // end inner loop
 #declare NrX = NrX + 1;  // next Nr x
 #end // --------------- end of loop x
 // end of outer loop
rotate<0,0,0>
translate<0,0.0,100>} // end of union


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.