POV-Ray : Newsgroups : povray.binaries.images : Sands of Time (wip2) : Re: Sands of Time (wip2) Server Time
1 Aug 2024 00:23:19 EDT (-0400)
  Re: Sands of Time (wip2)  
From: clipka
Date: 20 Jun 2009 12:30:00
Message: <web.4a3d0d73b616322a1d5d3f0@news.povray.org>
Doctor John <joh### [at] homecom> wrote:
> Agreed. It took ages to individually shape and polish each individual
> grain ;-)

Although we must confess that nature did a superb job at multiprocessing there
:)

> BTW what finish, interior etc did you use on your grains

In the first shot I used this technique in, I union'd all the grains (I actually
used blobs instead of spheres), and applied the following material:

    #declare SandColor = color rgb <0.9,0.6,0.3>;

    texture {
      bozo
      texture_map {
        #macro SparklesTexture(fTrans,fRef,fDiff,fMix,cMix)
          pigment { color (1-fMix)*SandColor + fMix * cMix transmit fTrans }
          finish { specular fRef diffuse fDiff reflection { fRef/2 } }
        #end
        [0.0 SparklesTexture (0.7, 1.0, 1.0, 0.0, <0,0,0>) ]
        [0.2 SparklesTexture (1.0, 0.1, 0.0, 0.0, <0,0,0>) ]
        [0.4 SparklesTexture (0.3, 0.3, 0.5, 0.5, <1,1,1>) ]
        [0.6 SparklesTexture (0.3, 0.3, 0.5, 0.5, <0,0,0>) ]
        [0.8 SparklesTexture (0.3, 0.3, 0.5, 0.5, <0,0,0>) ]
        [1.0 SparklesTexture (0.7, 0.3, 1.0, 0.0, <0,0,0>) ]
      }
      scale 0.005
    }
    interior { ior 1.5 }
    // no_shadow
    // no_reflection

So quite a mix of different material properties (if you look at real sand,
you'll often find that it's a mix of very different colors, too); they seem
quite a bit arbitrary, but yes - they actually are :) In fact I just toyed
around until it looked good, partially driven by how I'd expect it to work
physically, partly driven by what effects I expected from the sand grains.

In some other shot, these looked better:

  texture {
    bozo
    texture_map {
      #macro GrainsTexture(fTrans,fRef,fDiff,fMix,cMix)
        pigment { color (1-fMix)*SandColor + fMix * cMix transmit fTrans }
        finish { specular fRef*2 diffuse fDiff reflection { fRef/2 } }
      #end
      [0.0 GrainsTexture (0.7, 1.0, 1.0, 0.0, <0,0,0>) ]
      [0.2 GrainsTexture (1.0, 0.1, 0.0, 0.0, <0,0,0>) ]
      [0.4 GrainsTexture (0.3, 0.3, 0.5, 0.5, <1,1,1>) ]
      [0.6 GrainsTexture (0.3, 0.3, 0.5, 0.5, <0,0,0>) ]
      [0.8 GrainsTexture (0.3, 0.3, 0.5, 0.5, <0,0,0>) ]
      [1.0 GrainsTexture (0.7, 0.3, 1.0, 0.0, <0,0,0>) ]
    }
    scale 0.005
  }
  interior { ior 1.5 }
  no_shadow

So you'll probably need to do your own tweaking, actually.


Post a reply to this message

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