|
|
"blenderhead" <nomail@nomail> wrote:
>
> -------------- ----------------- ------------------ ----------------
> |Brick with | |another brick | |...texture that | |...by the mortar|
> |stone texture | |with similar... | | is interrupted...| | |
> -------------- ----------------- ------------------ ----------------
>
> Any idea how I could do this?
You can use a variation on my wood floor routine, pasted at the bottom of
this message. I will post an image of the output into the
povray.binary.images group so you can see if this is the type of thing you
are looking for.
- dan B hentschel
#macro M_Wood1A(r,g,b)
[0.0, 0.1 color rgb <0.88*r, 0.60*g, 0.40*b>
color rgb <0.88*r, 0.60*g, 0.40*b>]
[0.1, 0.9 color rgb <0.88*r, 0.60*g, 0.40*b>
color rgb <0.60*r, 0.30*g, 0.20*b>]
[0.9, 1.0 color rgb <0.60*r, 0.30*g, 0.20*b>
color rgb <0.60*r, 0.30*g, 0.20*b>]
#end
#macro M_Wood1B(r,g,b)
[0.0, 0.1 color rgbt <0.55*r, 0.32*g, 0.20*b, 0.100>
color rgbt <0.55*r, 0.32*g, 0.20*b, 0.500>]
[0.1, 0.2 color rgbt <0.55*r, 0.35*g, 0.20*b, 0.650>
color rgbt <0.88*r, 0.60*g, 0.40*b, 0.975>]
[0.2, 0.3 color rgbt <0.88*r, 0.60*g, 0.40*b, 0.975>
color rgbt <0.60*r, 0.30*g, 0.20*b, 1.000>]
[0.3, 0.4 color rgbt <0.60*r, 0.30*g, 0.20*b, 0.100>
color rgbt <0.60*r, 0.30*g, 0.20*b, 0.500>]
[0.4, 0.9 color rgbt <0.60*r, 0.30*g, 0.20*b, 0.650>
color rgbt <0.88*r, 0.60*g, 0.40*b, 0.975>]
[0.9, 1.0 color rgbt <0.88*r, 0.60*g, 0.40*b, 0.975>
color rgbt <0.55*r, 0.32*g, 0.20*b, 1.000>]
#end
#declare P_WoodGrain1A =
pigment {
wood
turbulence 0.04
octaves 3
scale <0.05, .05, 1>
}
#declare P_WoodGrain1B =
pigment {
wood
turbulence <0.1, 0.5, 1>
octaves 5
lambda 3.25
scale <0.15, .5, 1>
rotate <5, 10, 5>
translate -x*2
}
#declare floor_sd=seed(12);
#macro wood_floor_texture(r,g,b)
#if (simple_blocks)
pigment { color rgb <0.88*r, 0.60*g, 0.40*b> }
#else
#declare tex_scale = 0.8 + rand(floor_sd)*0.4;
#declare tex_rotate = y * (rand(floor_sd)*10 - 20);
#declare tex_translate = rand(floor_sd)*5;
texture {
pigment { P_WoodGrain1A color_map { M_Wood1A(r,g,b) } }
scale tex_scale
rotate tex_rotate
translate tex_translate
}
texture {
pigment { P_WoodGrain1B color_map { M_Wood1B(r,g,b) } }
scale tex_scale
rotate tex_rotate
translate tex_translate
}
finish {
specular 0.3
roughness 0.3
ambient 0
diffuse 0.4
reflection 0.05
}
normal {
wood
turbulence 0.04
octaves 3
scale <0.05, .02, 1>
}
#end
#end
#macro wood_floor(board_spacing, board_width, board_length, nails,
floor_width, floor_length)
union {
#declare x_pos=-floor_width;
#while (x_pos<floor_width)
#declare first_board=rand(floor_sd)*board_length;
#declare z_pos=-floor_length;
#while (z_pos<floor_length)
#declare board_lighten = rand(floor_sd)*0.3+0.85;
#if (first_board>0)
box {
<x_pos, -1, z_pos>
<x_pos+board_width, 0, z_pos+first_board>
wood_floor_texture(
(rand(floor_sd)*0.1+0.95)*board_lighten,
(rand(floor_sd)*0.1+0.95)*board_lighten,
(rand(floor_sd)*0.1+0.95)*board_lighten
)
}
#declare z_pos = z_pos + first_board + board_spacing;
#declare first_board=0;
#else
box {
<x_pos, -1, z_pos>
<x_pos+board_width, 0, z_pos+board_length>
wood_floor_texture(
(rand(floor_sd)*0.1+0.95)*board_lighten,
(rand(floor_sd)*0.1+0.95)*board_lighten,
(rand(floor_sd)*0.1+0.95)*board_lighten
)
}
#declare first_board=0;
#declare z_pos = z_pos + board_length + board_spacing;
#end
#end
#declare x_pos = x_pos + board_width + board_spacing;
#end
}
#end
#if (do_board_floor)
object {
wood_floor(0.005, 2, 14, 0, -left_wall, -back_wall)
}
#else
box {
<left_wall,-1,back_wall>
<right_wall,0,7>
wood_floor_texture(1,1,1)
}
#end
Post a reply to this message
|
|