|
![](/i/fill.gif) |
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
|
![](/i/fill.gif) |