POV-Ray : Newsgroups : povray.newusers : Feeling overwhelmed : Re: Feeling overwhelmed Server Time
26 Apr 2024 15:34:50 EDT (-0400)
  Re: Feeling overwhelmed  
From: Bald Eagle
Date: 12 Jul 2019 16:10:00
Message: <web.5d28e89e78ac11584eec112d0@news.povray.org>
And really, with all that's been developed and provided by many contributors and
developers, you can get started THIS fast:

(copy and paste the below into a new scene:)


// So first, I just use the Insert Menu to paste in
// Ready Made Scenes > Basic Scene M2
// Which gives me everything I need to render a workspace
// Boom.  Done in like 5 seconds.  Save as BE_Chess.pov


// PoVRay 3.7 Scene File " ... .pov"
// author:  ...
// date:    ...
//------------------------------------------------------------------------
#version 3.7;
global_settings{ assumed_gamma 1.0 }
#default{ finish{ ambient 0.1 diffuse 0.9 }}
//------------------------------------------------------------------------
#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"
//------------------------------------------------------------------------
#declare Camera_0 = camera {/*ultra_wide_angle*/ angle 15      // front view
                            location  <0.0 , 1.0 ,-40.0>
                            right     x*image_width/image_height
                            look_at   <0.0 , 1.0 , 0.0>}
#declare Camera_1 = camera {/*ultra_wide_angle*/ angle 14   // diagonal view
                            location  <20.0 , 15.0 ,-20.0>
                            right     x*image_width/image_height
                            look_at   <0.0 , 1 , 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_BE = camera {
                            location  <0.0, 5.0, -10.0>
                            right     x*image_width/image_height
                            look_at   <0.0 , 0.0 , 0.0>

                            }
camera{Camera_BE}
//------------------------------------------------------------------------
// sun -------------------------------------------------------------------
light_source{<1500,2500,-2500> color White}
// sky -------------------------------------------------------------------
sky_sphere{ pigment{ gradient <0,1,0>
                     color_map{ [0   color rgb<1,1,1>         ]//White
                                [0.4 color rgb<0.14,0.14,0.56>]//~Navy
                                [0.6 color rgb<0.14,0.14,0.56>]//~Navy
                                [1.0 color rgb<1,1,1>         ]//White
                              }
                     scale 2 }
           } // end of sky_sphere
//------------------------------------------------------------------------

//------------------------------ the Axes --------------------------------
//------------------------------------------------------------------------
#macro Axis_( AxisLen, Dark_Texture,Light_Texture)
 union{
    cylinder { <0,-AxisLen,0>,<0,AxisLen,0>,0.05
               texture{checker texture{Dark_Texture }
                               texture{Light_Texture}
                       translate<0.1,0,0.1>}
             }
    cone{<0,AxisLen,0>,0.2,<0,AxisLen+0.7,0>,0
          texture{Dark_Texture}
         }
     } // end of union
#end // of macro "Axis()"
//------------------------------------------------------------------------
#macro AxisXYZ( AxisLenX, AxisLenY, AxisLenZ, Tex_Dark, Tex_Light)
//--------------------- drawing of 3 Axes --------------------------------
union{
#if (AxisLenX != 0)
 object { Axis_(AxisLenX, Tex_Dark, Tex_Light)   rotate< 0,0,-90>}// x-Axis
 text   { ttf "timrom.ttf",  "x",  0.15,  0  texture{Tex_Dark}
          rotate<20,-45,0> scale 0.75 translate <AxisLenX+0.05,0.4,-0.10>
no_shadow}
#end // of #if
#if (AxisLenY != 0)
 object { Axis_(AxisLenY, Tex_Dark, Tex_Light)   rotate< 0,0,  0>}// y-Axis
 text   { ttf "timrom.ttf",  "y",  0.15,  0  texture{Tex_Dark}
          rotate<10,0,0> scale 0.75 translate <-0.65,AxisLenY+0.50,-0.10>
rotate<0,-45,0> no_shadow}
#end // of #if
#if (AxisLenZ != 0)
 object { Axis_(AxisLenZ, Tex_Dark, Tex_Light)   rotate<90,0,  0>}// z-Axis
 text   { ttf "timrom.ttf",  "z",  0.15,  0  texture{Tex_Dark}
          rotate<20,-45,0> scale 0.85 translate <-0.75,0.2,AxisLenZ+0.10>
no_shadow}
#end // of #if
} // end of union
#end// of macro "AxisXYZ( ... )"
//------------------------------------------------------------------------

#declare Texture_A_Dark  = texture {
                               pigment{ color rgb<1,0.45,0>}
                               finish { phong 1}
                             }
#declare Texture_A_Light = texture {
                               pigment{ color rgb<1,1,1>}
                               finish { phong 1}
                             }

object{ AxisXYZ( 4.50, 3.00, 5.00, Texture_A_Dark, Texture_A_Light)}
//-------------------------------------------------- end of coordinate axes


// ground -----------------------------------------------------------------
//---------------------------------<<< settings of squared plane dimensions
#declare RasterScale = 1.0;
#declare RasterHalfLine  = 0.035;
#declare RasterHalfLineZ = 0.035;
//-------------------------------------------------------------------------
#macro Raster(RScale, HLine)
       pigment{ gradient x scale RScale
                color_map{[0.000   color rgbt<1,1,1,0>*0.6]
                          [0+HLine color rgbt<1,1,1,0>*0.6]
                          [0+HLine color rgbt<1,1,1,1>]
                          [1-HLine color rgbt<1,1,1,1>]
                          [1-HLine color rgbt<1,1,1,0>*0.6]
                          [1.000   color rgbt<1,1,1,0>*0.6]} }
 #end// of Raster(RScale, HLine)-macro
//-------------------------------------------------------------------------


plane { <0,1,0>, 0    // plane with layered textures
        texture { pigment{color White*1.1}
                  finish {ambient 0.45 diffuse 0.85 emission 0}}
        texture { Raster(RasterScale,RasterHalfLine ) rotate<0,0,0> }
        texture { Raster(RasterScale,RasterHalfLineZ) rotate<0,90,0>}
        rotate<0,0,0>
      }
//------------------------------------------------ end of squared plane XZ

//--------------------------------------------------------------------------
//---------------------------- objects in scene ----------------------------
//--------------------------------------------------------------------------

// I added a camera definition near the beginning to give me a nice working view
// now I make some quick objects to get me started

#declare Origin = <0, 0, 0>;
#declare Surface = 0.25; // Height of chessboard surface

#declare _White = texture {pigment {rgb <1, 1, 1>} normal {granite scale 0.01}
finish {specular 0.1}};
#declare _Black = texture {pigment {rgb <1, 1, 1>*0.01} normal {granite scale
0.01} finish {specular 0.1}};

#declare Board = box {<-1, 0, -1>*4, <1, Surface/4, 1>*4
 texture {
  checker texture {_White} texture {_Black}
 }
}

// Now I make some objects with geometry but no texture assigned to them
#declare Pawn = sphere {Origin, 0.4 translate <0.5, 0.4+Surface, 0.5>}

// I again use the Insert Menu and choose
// Basic Shapes Round >
// and down in the SOR section, choose the 3rd option - the silver cup
///sor Surface of Revolution
#declare Rook =
sor{
  10,
  <0.000, 0.000>
  <0.289, 0.000>
  <0.274, 0.026>
  <0.072, 0.100>
  <0.070, 0.123>
  <0.070, 0.436>
  <0.175, 0.536>
  <0.240, 0.672>
  <0.327, 1.000>
  <0.290, 1.000>
  open

  /*            and I comment out the texture block
    //  sturm  // optional!
    material{   //-----------------------------------------------------------
        texture { pigment{ rgbf <0.98, 0.92, 0.80, 0.7> }
                  finish { diffuse 0.1 reflection{ 0.25 metallic 0.20}
                           specular 0.8 roughness 0.0003 phong 1 phong_size 400}
                } // end of texture -------------------------------------------
        interior{ ior 1.5 caustics 0.5
                } // end of interior ------------------------------------------
      } // end of material ----------------------------------------------------
   scale 1.0  rotate<0,0,0> translate<0,0,0>
   */

 // and translate it onto the center of a unit square
 translate <0.5, Surface, 0.5>

 } // end of sor ---------------------------------


// and one more pice using a lathe this time instead
// Basic Shapes Round >
// and down in the Lathe section, choose the 2nd option - the quadratic
// since it's smooth

#declare Bishop =
lathe{  // rotates a 2-D outline of points around the Y axis to create a 3-D
shape
  quadratic_spline // quadratic_spline | cubic_spline | linear_spline
  5,      // number of points,
  <2, 0>, // list of <x,y> points,
  <3, 0>,
  <3, 5>,
  <2, 5>,
  <2, 0>
  // sturm

    /*            and again I comment out the texture block
  texture { Polished_Chrome
            pigment{ color rgb<0.7,0.0,0.3>}
             finish { phong 1 reflection{ 0.40 metallic 0.30} }
          } // end of texture
    */

  scale <1,1,1>*0.125
  rotate <0,0,0>
  translate <0.5, Surface, 0.5> // translate it onto the center of a unit square
 } // ----------------------------------------------- end of lathe object







// Now I need to actually put the objects into the scene

object {Board}

/*
I use a #for loop to make copies of the pieces and place them quickly
NOW I assign the textures so that I can use the same geometry but choose _White
or _Black
*/

#for (WhitePawn, -4, 3)
 object {Pawn texture {_White} translate <WhitePawn, 0, -3>}
#end

#for (BlackPawn, -4, 3)
 object {Pawn texture {_Black} translate <BlackPawn, 0, 2>}
#end

object {Rook texture {_White} translate <-4, 0, -4>}
object {Rook texture {_White} translate < 3, 0, -4>}
object {Rook texture {_Black} translate <-4, 0,  3>}
object {Rook texture {_Black} translate < 3, 0,  3>}

object {Bishop texture {_White} translate <-2, 0, -4>}
object {Bishop texture {_White} translate < 1, 0, -4>}
object {Bishop texture {_Black} translate <-2, 0,  3>}
object {Bishop texture {_Black} translate < 1, 0,  3>}

/*
and that should get you started
only 3 more pieces to model, and then you can start adding and editing textures,
etc.
*/


Post a reply to this message

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