  | 
  | 
 
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
Chris Cason <nos### [at] deletethis povray org> wrote:
> PM 2Ring wrote:
> > This group of stones is a single isosurface. The wet sand is a
> > normal-perturbed plane. The stone textures are the standard textures
> > in stones.inc.
>
> This is nice work. Perhaps once you've finished with your tweaks to it you
> may like to consider submitting it (or a variation thereof) for consideration
> as a standard POV-Ray example scene.
Thanks, Chris! I would be delighted to submit a variation of this scene for
consideration as a standard POV-Ray example scene. I've (almost) given up
improving the stone displacement, but I've been polishing up the code,
adding comments & better identifiers. I'll post my latest version in a day
or so, when I get the chance.
I could add a sand isosurface & maybe even a water object, but I don't want
to make the scene too complex. Besides, from my tests today, the minor
visual improvements don't justify the increased render time.
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
"William Pokorny" <pok### [at] attglobal net> wrote:
> As someone else said your IsoStones are very instructive - thanks for
> posting the source.
Thanks, William.
> The stone textures - in fact most of the old 3.1 textures - have never been
> updated to account for the resulting image being gamma corrected. The 3.1
> stone textures for example were to be rendered with an assumed gamma of 2.2.
> The automatic portfolio set up INGO put together rendered them with an
> assumed gamma of 1.0 just as you too used them. However, used in this way
> all these textures will appear washed out compared to the creators intent.
Ok.
> For good reasons we should be using the assumed gamma of 1.0 for renders,
> but the majority of the sample textures look washed out if you do it. Leads
> to some confusion I think - it certainly confused me for a time.
Me, too! I'm still easily confused about how assumed_gamma & display_gamma
work together. :)
> A_stones.jpg  is my render of your original source using 3.6.
>
> B_stones.jpg uses the assumed gamma of 2.2 so the stones look as they did in
> 3.1, but naturally the sand and lighting is darker than you intended because
> no gamma correction was done - my display gamma is set to 2.2 as is true for
> most PC users (1).
>
> C_stones.jpg takes a stab at un-gamma correcting the stone textures so that
> when the gamma correction is done the stones appear as I think intended by
> the texture creators, but with your lighting and sand color.
>
> (1) - Most all PC displays have a display gamma of about 2.2 except for
> Apple, SGI and perhaps a few other less common platforms.
This old monitor is very bright. I have the brightness as low as it can go,
but it's still a bit too bright for me. I have set my Display_Gamma to 2.6,
but I think I should re-calibrate it. All my images look too bright on
other peoples' monitors & my lcd monitor at work.
At first, this didn't worry me, as I've seen some fantastic pictures here
that were using gamma 2.2 that were so dark I had to gamma-correct them to
view them. Fortunately, my video card lets me do this pretty easily.
Your picture C looks too dark to me, B is just right. As I said, I've got to
do something about this monitor. :)
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
"Greg M. Johnson" <gregj;-)565### [at] aol com> wrote:
> A derivative work, hopefully okay since the SDL was shared...
Sure! But you don't need to make the text quite so big, Greg. :)
I tried putting a mandelbrot onto a stone, but it looked ugly.
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
rock <roc### [at] almost bestweb net> wrote:
> PM 2Ring wrote:
> >
> > Also, isosurfaces can be faster than you might think. I have a sofa object
> > derived from one of Jaime's LightSys demo scenes. The original is built
> > from isosurface{f_rounded_box()}, I converted it to use superellipsoids,
> > but the isosurface version was the faster! IIRC, I posted the scene file in
> > p.b.i a couple of weeks ago; look for the very shiny blue sofa.
> >
>
> well, one sofa is different from many stones: completely
> different from the original picture posted.
Sure they're different, but the point I was making is that isosurfaces can
render faster than a more conventional shape.
> >
> >>I picture something like ... defining 12 different rock shapes.
> >>Then, whenever you place a rock, randomly pick which of the 12
> >>pre-defined rock shapes to place.  Rotate it randomly y before
> >>placing it.  As each one is placed, randomly texture it.
> >
> >
> > Sure, I can do that:). However, you don't really save memory (in the current
> > version of POV) by doing this, unless you're doing it with mesh objects.
>
> Memory was not the concern of my posting; render time was.
> If I wanted many stones in a single isosurface, my poor
> CPU would kick it's little feet in the air and expire.
> Or at least my patience would.  :D
The attached image uses individual isostones, layed out in a slightly
randomized Archimedean spiral pattern (parametrized by arclength). It
renders much more slowly than the equivalent all-in-one isosurface.
> > For an interesting variation on this theme, see my two recent threads,
> > "MultiMesh" in the General area and "Grass using MultiMesh" in p.b.i.
> Errrrr, I can guess that "multimesh" uses MESH objects,
> What does that have to do with isosurface pebbles?
Read the threads & find out, rock. :) The connection is in efficiently
creating large numbers of similar objects, and hiding the fact that you're
using lots of copies of the same thing.
 
 Post a reply to this message 
 
Attachments: 
Download 'isoballsh3s.jpg' (162 KB)
 
  
Preview of image 'isoballsh3s.jpg'
   
   
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
PM 2Ring wrote:
> 
> 
>>>>I picture something like ... defining 12 different rock shapes.
>>>>Then, whenever you place a rock, randomly pick which of the 12
>>>>pre-defined rock shapes to place.  Rotate it randomly y before
>>>>placing it.  As each one is placed, randomly texture it.
>>>
  http://www.deviantart.com/view/23117961/
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
povray <pov### [at] almost bestweb net> wrote:
> >
> >>>>I picture something like ... defining 12 different rock shapes.
> >>>>Then, whenever you place a rock, randomly pick which of the 12
> >>>>pre-defined rock shapes to place.  Rotate it randomly y before
> >>>>placing it.  As each one is placed, randomly texture it.
>
>   http://www.deviantart.com/view/23117961/
Nice, but think this machine would be thrashing the swap file with that
scene, povray!
I don't know if those lobe-shaped stones look real though... and what are
those strange speckled patches on the sand? Totally transparent stones,
coincident with the ground, maybe? I suppose both of these effects could be
intentional.. the lobed stones remind my of an X-files episode, where
Mulder finds a pair of intersecting coins.
I've worked out how easy it is to place my IsoStones on an isosurface, but I
haven't got the look quite right yet.
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
Chris Cason <nos### [at] deletethis povray org> wrote:
> This is nice work. Perhaps once you've finished with your tweaks to it you
> may like to consider submitting it (or a variation thereof) for consideration
> as a standard POV-Ray example scene.
Here's my latest polished-up version. Um, I suppose I should ask, how do I
submit it for consideration, Chris? :)
//------------------------------------------------------------
// Persistence of Vision Ray Tracer Scene Description File
// File: IsoStones.pov
// Vers: 3.6
// Desc: Tumbled stones in a square grid using a single isosurface
// Date: 2005.09.03
// Auth: PM 2Ring
//
// -D +A0.1 +AM2 +R2
// -F +A0.6 +AM2 +R2
//
#include "colors.inc"
#include "stones.inc"
#include "functions.inc"
global_settings {
  assumed_gamma 1.0
}
//Scene control
#declare Do_Sky = 1;              //Render sky sphere
#declare Do_Ground = 1;           //Render ground plane
#declare Do_Water = 1;            //Make ground plane reflective
#declare Use_SpotLight = 1;
#declare Use_AreaLight = 0;
//Stone parameters
#declare GridSize = 4;            //Total number of stones =
GridSize*GridSize
#declare Width = 1/GridSize;      //Cell width.
#declare Radius = Width*.70;      //Stone radius
#declare DRate = .875/Radius;     //Radius deformation rate
#declare Height = .55;            //Stone height
//---Functions------------------------------------------------
//Positive modulus: never returns negative values
#declare smod = function(A,B){mod(B + mod(A, B), B)}
//Centred modulus
#declare cmod = function(A,B){smod(A, 2*B) - B}
//2D cells: returns a random value for each unit square
#declare f_cell2D = function(x,z){f_snoise3d(floor(x), 0, floor(z))}
//Noisy modulus. Makes a random centre for each stone
#declare f_modnoise =
function(x,z){cmod(x, Width) + (Width-Radius)*f_cell2D(x*.5/Width,
z*.5/Width)}
//Randomized radius for tumbled stone shape
#declare f_Rad = function{1 + .45*f_snoise3d(x*DRate, y*DRate, z*DRate)}
//Displaced, vertically squashed spheres
#declare f_Stone = function{f_r(f_modnoise(x,z), y/Height,
f_modnoise(-z,x))}
//---Textures-------------------------------------------------
#declare StoneMax=44;             //Number of stone textures
//All the textures from stones.inc
#declare T_Stones =
array[StoneMax]{
  T_Stone1, T_Stone2, T_Stone3, T_Stone4, T_Stone5,
  T_Stone6, T_Stone7, T_Stone8, T_Stone9, T_Stone10,
  T_Stone11, T_Stone12, T_Stone13, T_Stone14, T_Stone15,
  T_Stone16, T_Stone17, T_Stone18, T_Stone19, T_Stone20,
  T_Stone21, T_Stone22, T_Stone23, T_Stone24, T_Stone25,
  T_Stone26, T_Stone27, T_Stone28, T_Stone29, T_Stone30,
  T_Stone31, T_Stone32, T_Stone33, T_Stone34, T_Stone35,
  T_Stone36, T_Stone37, T_Stone38, T_Stone39, T_Stone40,
  T_Stone41, T_Stone42, T_Stone43, T_Stone44,
}
//Build a random cellfield of all the stone textures
#declare MultiStone =
texture{
  //function{.5+f_cell2D(x,z-7)}
  cells translate y*.5
  texture_map{
  #declare I=0;
  #while(I<StoneMax)
    [I/StoneMax T_Stones[I]]
    [(I+1)/StoneMax T_Stones[I]]
    #declare I=I+1;
  #end
  }
}
//---The scene------------------------------------------------
//The stones. Scaled so that textures appears the same,
//no matter how many stones are done.
isosurface{
  function{f_Stone(x,y,z) - Radius*f_Rad(x,y,z)}
  //function {f_r(cmod(x, Width), y/Height, cmod(z, Width)) - Radius}
  contained_by{box{<-1,-Width*Height,-1>, <1,Width*Height,1>}}
  max_gradient 5
  accuracy 5e-3
  texture{MultiStone scale 2*Width}
  //scale 1.7             //Fill view with stones
  rotate -3*y
  translate <0, .35*Radius*Height-1, 1>
}
#if(Do_Sky)
  sky_sphere {
    pigment {
      gradient y
      color_map {
        [.4 rgb .1]
        [.9 rgb .8]
        [1 rgb 1]
      }
    }
  }
#else
  background{rgb .5}
#end
#if(Do_Ground)
  plane {
    y, -1.0001
    pigment {rgb <1, .915, .620>}
    finish{
      ambient 0 diffuse .85
      specular .25 roughness 1e-3
      #if(Do_Water) diffuse 0.65 reflection{0, .9} #end
    }
    normal {
       ripples .075
       turbulence .175
       frequency 12
       scale .4
       translate -1
    }
  }
#end
camera {
  location  <.45, 8, -8> * .2
  direction z
  right     x*image_width/image_height up y
  look_at   y*-.175
  angle 40
}
light_source {
  <-1, 1, -1> * 30
  rgb 120 fade_distance 3 fade_power 2
  #if(Use_SpotLight)
    spotlight point_at <-1,-1,0> falloff 2.25 radius .35
  #end
  #if(Use_AreaLight)
    area_light 9*x,9*z,7,7 jitter adaptive 1 orient circular
  #end
}
//------------------------------------------------------------
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
PM 2Ring nous apporta ses lumieres en ce 2005-09-20 10:00:
> povray <pov### [at] almost bestweb net> wrote:
> 
>>>>>>I picture something like ... defining 12 different rock shapes.
>>>>>>Then, whenever you place a rock, randomly pick which of the 12
>>>>>>pre-defined rock shapes to place.  Rotate it randomly y before
>>>>>>placing it.  As each one is placed, randomly texture it.
>>
>>  http://www.deviantart.com/view/23117961/
> 
> 
> Nice, but think this machine would be thrashing the swap file with that
> scene, povray!
> 
> I don't know if those lobe-shaped stones look real though... and what are
> those strange speckled patches on the sand? Totally transparent stones,
> coincident with the ground, maybe? I suppose both of these effects could be
> intentional.. the lobed stones remind my of an X-files episode, where
> Mulder finds a pair of intersecting coins.
> 
> I've worked out how easy it is to place my IsoStones on an isosurface, but I
> haven't got the look quite right yet.
> 
It looks like the top layer used in some layered stone textures, without any base
layer.
Alain
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
PM 2Ring wrote:
> povray <pov### [at] almost bestweb net> wrote:
> 
>>>>>>I picture something like ... defining 12 different rock shapes.
>>>>>>Then, whenever you place a rock, randomly pick which of the 12
>>>>>>pre-defined rock shapes to place.  Rotate it randomly y before
>>>>>>placing it.  As each one is placed, randomly texture it.
>>
>>  http://www.deviantart.com/view/23117961/
> 
> 
> Nice, but think this machine would be thrashing the swap file with that
> scene, povray!
> 
Heheh: your machine must be even older than mine.  ;)
> I don't know if those lobe-shaped stones look real though... and what are
After posting it I kind of think they look like cookies.  :D
Mmmmmmm.  :)
Still, now you get the idea what what I was originally talking
about.
> those strange speckled patches on the sand? Totally transparent stones,
> coincident with the ground, maybe? I suppose both of these effects could be
> intentional.. the lobed stones remind my of an X-files episode, where
> Mulder finds a pair of intersecting coins.
> 
I kinda threw the file together quickly.  I arbitrarily took the
first 40 or so textures from stones1.icn without even looking at
them.  That transparent speckle texture is one of the textures in
stones1.inc.
> I've worked out how easy it is to place my IsoStones on an isosurface, but I
> haven't got the look quite right yet.
> 
Keep at it.  You'll get there.  :)
 
 Post a reply to this message 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
Here are some IsoStones on a sandy isosurface. Max memory = 1082530 bytes.
 
 Post a reply to this message 
 
Attachments: 
Download 'isoballsfd0.jpg' (97 KB)
 
  
Preview of image 'isoballsfd0.jpg'
   
   
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 
 | 
  |