POV-Ray : Newsgroups : povray.newusers : Feeling overwhelmed Server Time
21 Nov 2024 08:17:58 EST (-0500)
  Feeling overwhelmed (Message 1 to 5 of 5)  
From: Ron
Subject: Feeling overwhelmed
Date: 12 Jul 2019 10:50:00
Message: <web.5d289d1e37949916c61b4eb80@news.povray.org>
Hi folks,

I am try to make a themed POV-RAY chess set with the board.
Each time I sit down to work on it a feel very overwhelmed and dont know where
to start/continue from.
I have read many posts about good tutorials and resources but they all seem to
point me to different directions.

I was thinking of just creating a Game Of Thrones themed chess board or perhaps
something similar.

What would you recommend as the next step for me? Is there a must read/practice
tutorial?

Are there any easier themes people could recommend that still look easy on the
eye?

Thanks so much for reading this and hopefully someone can give some guidance!


Post a reply to this message

From: Le Forgeron
Subject: Re: Feeling overwhelmed
Date: 12 Jul 2019 12:35:20
Message: <5d28b6c8@news.povray.org>
Le 12/07/2019 à 16:45, Ron a écrit :
> Hi folks,
> 
> I am try to make a themed POV-RAY chess set with the board.
> Each time I sit down to work on it a feel very overwhelmed and dont know where
> to start/continue from.
> I have read many posts about good tutorials and resources but they all seem to
> point me to different directions.
> 
> I was thinking of just creating a Game Of Thrones themed chess board or perhaps
> something similar.
> 
> What would you recommend as the next step for me? Is there a must read/practice
> tutorial?
> 
> Are there any easier themes people could recommend that still look easy on the
> eye?
> 
> Thanks so much for reading this and hopefully someone can give some guidance!
> 
> 
> 
> 
> 
> 

Before jumping in an IP-themed chess set, did you look at classical
chess sets ?
Staunton & Regence are probably the most common of them.

https://www.chessstrategyonline.com/chess-set-guide

I do not know GoT, but for IP-theme I would ask if the white side and
the black side are to be identical or totally different.

Considering LotR, white (nice guy ? hey, they move first, not really
nice of them) could be based on the communauty, and the black side on
the Sauron & other (knight as nazgul ?)

Same for a star wars chess  set (choose your trilogy, or all of them),
Leia & Yoda vs Vador & emperor...

Now, go back to previous link and compare the ratio of height with the
diameter of the base (for each of the 6 pieces), that would be the kind
of ratio you should achieve for your designed set in order to be "lovely".

It's a shame to need 6 different pieces, as an abstract set could be
done with the 5 platonic solid.


Post a reply to this message

From: Bald Eagle
Subject: Re: Feeling overwhelmed
Date: 12 Jul 2019 13:55:01
Message: <web.5d28c93d78ac11584eec112d0@news.povray.org>
"Ron" <nomail@nomail> wrote:

> Each time I sit down to work on it a feel very overwhelmed and dont know where
> to start/continue from.

Start with the simplest things possible.
Use simple place-holder shapes like boxes or cylinders as pieces, and then
improve them bit by bit.

The board should be straightforward - and you can even just use _checker_ as a
pigment pattern.   Then a box as a border.

Learn what you can get away with and "fake" to save you a lot of unnecessary and
wasted time and effort - and therefore frustration.
Post your W(orks)I(n)P(rogress) with the current code, and you can get
constructive criticism.

Your simpler pieces can be done with CSG - but probably more easily with a SOR
or lathe.

Rule #1 is that everything happens in relation to the origin <0, 0, 0>.
Define your shapes at the origin, and then translate them to where you need them
to be.

Start parameterizing your shapes as early as possible to make "tweaking" it
later on much easier.  For instance if you were going to build up from the
bottom, instead of defining one section from y=0 to y=4 and then next from y=4
to y=6, make the first section go from 0 to a variable named TOF ("Top Of
First") and then the second go from y=TOF to y=TOF+HOS ("Height Of Second").
Or something like that.

Then when you change one thing that all the others rest on, they all move to
compensate and you don't have to sift through the code and change it all by hand
every time you make any change.

I like to use a drawing program that displays coordinates so that I can trace
over a picture of something I'm modeling, and use those as points on my spline /
SOR / lathe / prism....

So make a checkerboard and put some spheres or something on it, light it, give
it a background or a sky_sphere, and start playing with pigments, textures,
finishes, etc.

Put in plenty of comments so that you can easily see what you've done 6 mo
later... and WE can easily and quickly understand what you are doing or trying
to do, and help you out without trying to unravel the mystery.


Post a reply to this message

From: Bald Eagle
Subject: Re: Feeling overwhelmed
Date: 12 Jul 2019 14:55:00
Message: <web.5d28d69178ac11584eec112d0@news.povray.org>
ALSO,

There are 25 years worth of scene code posted here and across the internet.
Find a few scenes, look at the code, and copy/paste/edit what you like.
Use the Insert Menu, the scene files provided as part of the POV-Ray install,
the Object Collection, etc.

http://f-lohmueller.de/pov_tut/pov__eng.htm

Save early, save often.  With a different filename.  :)
Meaning, once you have something that WORKS, save it as SceneFile_V1.0.pov and
then start editing it and saving the changes as _V1.1, _V1.2, etc.
That way you don't overwrite your successes and have to start from scratch.

Not to overwhelm you any more, but just to give you an idea of the many ways the
same thing can be accomplished:

You can also use a #switch - #case/#range - #break - #end block to have a number
of different scenes all with the same common elements.
Or write a simple basic scene with lights background sky_sphere.
Save that as basic.pov
Then write some code that makes a chessboard.
save that as chessboard.inc
then a pawn.  Pawn.inc


Then you can open basic.pov, add
#include "chessboard.inc"
and
#include "pawn.inc"

and save it as ChessboardWIP.pov


The point is, if one way sucks for you and is frustrating, stop and try at least
to see if there is one other way to accomplish the same thing.

But really, just have fun.  :)


Post a reply to this message

From: Bald Eagle
Subject: Re: Feeling overwhelmed
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.