|
![](/i/fill.gif) |
Thanks Warp
This is exactly what I wanted to do.
Michael
Warp <war### [at] tag povray org> wrote in message news:3b9d4e6d@news.povray.org...
> However, you can achieve this by using pigment functions.
>
> This is an example which supposes that "image.png" is 160x120:
>
>
> #declare Image =
> function
> { pigment { image_map { png "image.png" } }
> }
>
> #default { finish { ambient 1 } }
>
> union
> { #declare IndY = 0;
> #while(IndY < 120)
> #declare IndX = 0;
> #while(IndX < 160)
>
> #declare Color = Image(IndX/160, IndY/120, 0); // The trick
>
> box { <IndX,IndY,0><IndX+1,IndY+1,1> pigment { color Color } }
> #declare IndX = IndX+1;
> #end
> #declare IndY = IndY+1;
> #end
> translate <-160/2, -120/2>
> scale 1/160
> }
>
> camera { location -z look_at 0 }
>
>
> --
> #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
|
![](/i/fill.gif) |