POV-Ray : Newsgroups : povray.unofficial.patches : Eval Pattern, with iso surface Server Time
8 Jul 2024 17:02:43 EDT (-0400)
  Eval Pattern, with iso surface (Message 1 to 4 of 4)  
From: M  Aitchison
Subject: Eval Pattern, with iso surface
Date: 7 Jul 2001 01:19:49
Message: <3b469bf5@news.povray.org>
I've been using Megapov v0.7, and I'm wondering weither it is posable to use
a bitmap with an isosurface.  It seems that I can't use some functions such
as eval_pattern, or eval_pigment when defining a fuction for the isosurface.
Is there any way to get around this?  I thought of storing the bitmap in an
array, but I can't even use arrays when defining the function.  All of this
is in an attempt to create a spherical height map.  If anyone knows how this
could be achived please let me know.
Thanks
____________
Matt


Post a reply to this message

From: Warp
Subject: Re: Eval Pattern, with iso surface
Date: 7 Jul 2001 07:04:28
Message: <3b46ecbc@news.povray.org>
Why don't you create a pigment function?

function { pigment { image_map ... } }

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Mick Hazelgrove
Subject: Re: Eval Pattern, with iso surface
Date: 7 Jul 2001 14:27:20
Message: <3b475488@news.povray.org>
"M. Aitchison" <ait### [at] nospamnzldcom> wrote in message
news:3b469bf5@news.povray.org...
> I've been using Megapov v0.7, and I'm wondering weither it is posable to
use
> a bitmap with an isosurface.  It seems that I can't use some functions
such
> as eval_pattern, or eval_pigment when defining a fuction for the
isosurface.
> Is there any way to get around this?  I thought of storing the bitmap in
an
> array, but I can't even use arrays when defining the function.  All of
this
> is in an attempt to create a spherical height map.  If anyone knows how
this
> could be achived please let me know.
> Thanks
> ____________
> Matt
This might give you some clues replace Grass with any object

#declare GMTex = texture{
 pigment{
 ripples
 color_map {
  [0 rgb <1,.85,.75>*2]
  [1 rgb <.85,.75,.5>*2]} //.85
   scale <1, 5,10>/3
   rotate y*-20
   warp{turbulence .375}
   }
 finish { ambient-.0001 diffuse .9 specular .25 roughness .01 crand .05}
 normal{
  average normal_map{
   [0 ripples .0075 scale <2, 5,10>/3 warp{turbulence .25}rotate y*-20
translate x*.5]
   [.5 agate normal_map{[0 bumps 1 scale .1][.5 bumps.0001]}scale 5 rotate
y*76]
   }
     }
}

#declare R = seed(463);

#declare GM =
height_field {
pattern 1000, 1000 {
hf_gray_16
 spotted
  color_map {
   [ 0.0 rgb 0 ]
   [ 1.0 rgb .1 ]
  }
  rotate y*35
warp {turbulence 2 lambda .25 }
scale 0.05
}
smooth
}

object{GM rotate y*-18 scale <350,50,600>translate <-50,
0, -50>texture{GMTex}}



//------------------------------------------------------------
#if (Grass_on = 1)

$ TracedObj = union{
$ Norm = <0,0,0>;
$ Xpos = 0;
$ Zpos = 0;
// HERE is the image map
$ Pig=pigment{spotted color_map{[0 rgb 1][1 rgb 0]}scale .0325 translate
<-1,0,005>} //5

#while (Xpos<1)

   #while (Zpos<1)

       $ SPos = <Xpos,1,Zpos>;
       $ PP=eval_pigment( Pig, <Xpos,0,Zpos> ); // THIS tests the image map
       $ XX = PP.x;
           // #warning concat(str(XX,10,3),"\n")
       $ Inter = trace (GM,SPos,<0,-1,0>, Norm );

            #if (vlength(Norm)!=0 & XX >.45)
              #if(Inter.y<.05 )
    object{Grass scale <.00007,.0006+(rand(R)/2000),.000065> rotate
y*rand(R)*360
    translate <Inter.x+(rand(R)/30),Inter.y,Inter.z+(rand(R)/30)>
    }
     #end
            #end

    $ Zpos = Zpos +.00275;
    #end
    $ Zpos = 0;
  $ Xpos = Xpos +.00275;
 #end
}
object{TracedObj rotate y*-18 scale <350,50,600>translate <-50, -.5, -50>}

Hope this helps

Mick


Post a reply to this message

From: Ian Shumsky
Subject: Re: Eval Pattern, with iso surface
Date: 9 Jul 2001 14:28:33
Message: <3b49f7d1@news.povray.org>
Hi Matt,

Giles has an example of doing this at

http://www.oyonale.com/ressources/english/sources09.htm

Check out the 'Wrapping a height-field on a sphere' section.

Cheers,
Ian.

http://www.outerarm.demon.co.uk/graphics/graphics.html


M. Aitchison <ait### [at] nospamnzldcom> wrote in message
news:3b469bf5@news.povray.org...
> I've been using Megapov v0.7, and I'm wondering weither it is posable to
use
> a bitmap with an isosurface.  It seems that I can't use some functions
such
> as eval_pattern, or eval_pigment when defining a fuction for the
isosurface.
> Is there any way to get around this?  I thought of storing the bitmap in
an
> array, but I can't even use arrays when defining the function.  All of
this
> is in an attempt to create a spherical height map.  If anyone knows how
this
> could be achived please let me know.
> Thanks
> ____________
> Matt
>
>
>


Post a reply to this message

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