POV-Ray : Newsgroups : povray.binaries.images : Ruined Place - WIP 4 : Re: Ruined Place - WIP 4 Server Time
2 Aug 2024 04:19:34 EDT (-0400)
  Re: Ruined Place - WIP 4  
From: Jim Charter
Date: 22 Feb 2008 10:53:10
Message: <47beefe6$1@news.povray.org>
Thomas de Groot wrote:

> Thanks for thinking along with me! :-)
> 
Cool.

I see that you are right, in this case the 'cylindrical' pattern
can probably be used to do the same thing.

What I actually used and wanted to point out to you was the 'object'
pattern, within which I used a cylinder shape.

Anyway here is the code abbreviated.  There still may be ways in
which the approach gives more control.



//define the 'object' pattern
//here it is a cylinder, often I
//the object I am texturing itself
#local Pigment_Object =
pigment {
   average
   pigment_map {
   #local I=0;#while(I<30)
     [1
       object {
         cylinder {-.45*y,
		.45*y,
		.80 		//a little smaller
                         	//than the Column_Barrel

           scale x*.9    	//skew it a bit

           scale 1+.3*rand(S)    //randomize through the
                                 //iterations
         }
         pigment { rgb 0 }  //outside
         pigment { rgb 1 }  //inside
       }
     ]
   #local I=I+1;#end
   }
   turbulence .1
};


#local Grunge =
texture {
   pigment {
     pigment_pattern { Pigment_Object }
     pigment_map {
       [0 rgbt 1]
       [1 P_Lichen]
     }
   }
};

//stack up some Column_Barrels
#local A=0;#while(A<5)

   object{
     Column_Barrel

     texture{T_Marble translate y*rand(S)}

     //take advantage of the transparent areas of the
     //texture to layer some random translations
     #local I=0;#while(I<15)
       texture{
         Grunge
         translate y*(1-2*rand(S))
       }
     #local I=I+1;#end

     rotate y*rand(S) //one degree random rotation
     rotate y*(int(rand(S)*2)*24) //two flutes of
                                  //random rotation

   }

#local A=A+1;#end


Post a reply to this message

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