|
|
Sven Littkowski <I### [at] SvenLittkowskiname> wrote:
> Hi experienced POV-Ray users,
>
> my steamboat is made of lumber. I wonder, what surface finishes you
> would usually use for wooden planks. Those are deck planks, but also the
> planks on the sides of the superstructures on the decks. Online I saw
> some really nice examples, some even going as far as using
> specular_maps, I was reading in the photo description.
>
> Based on your own experiences, what finishes or even normals, would you use?
Hi Sven,
When it's coming to outdoor wood, I use this sources most -
Tim McMurdo Capstan fnished...I promise
http://news.povray.org/povray.binaries.images/thread/%3Cweb.42efc7029ecf5192acb32c570%40news.povray.org%3E/
David El Tom Veneer pattern
http://news.povray.org/povray.binaries.images/attachment/%3C469c80fd%40news.povray.org%3E/us-ascii
Another great wood texture is based on the isowood code of Christoph Hormann
(http://www.imagico.de/iso_wood_en.php), where I use the isosurface function for
the normal definition.
Here is an example -
#macro IW_Warp_02 (Seed, xSize, ySize, zSize)
#local SZ = (xSize+ySize)*0.5*0.1;
#local Density = 0.1;
warp {
black_hole <xSize*0.5,0,0>, SZ
falloff 2.5
strength 2
repeat <min (xSize, SZ/Density),min (ySize, SZ/Density),SZ/Density>
turbulence <0.02,0.75,0.75>
inverse
}
#local SZ = (xSize+ySize)*0.5*0.15;
#local Density = 0.1;
warp {
black_hole <xSize*0.5,0,0>, SZ
falloff 2.1
strength 3.7
repeat <min (xSize, SZ/Density),min (ySize,
0.7*SZ/Density),0.8*SZ/Density>
turbulence <0,0.4,0.4>
inverse
}
#end
#macro IW_Select_Warp (WarpNbr, Seed, xSize, ySize, zSize)
IW_Warp_02 (Seed, xSize, ySize, zSize)
#end
#macro IW_Plank_Round_CutN (Seed, xSize, ySize, zSize, Rotate, Translate, Round,
Strength, Strength2, Pigm, Fin, C_Map, WarpNbr, fn_Max_Val)
#local rd = seed (Seed);
#local fn_Max = fn_Max_Val+<0,0,0>;
#local Trsx = (rand (rd)-0.5)*Translate*xSize;
#local Trsy = (rand (rd)-0.5)*Translate*ySize;
#local Trsz = (rand (rd)-0.5)*Translate*zSize;
#local Rotx = (rand (rd)-0.5)*Rotate;
#local Roty = (rand (rd)-0.5)*Rotate;
#local fn_Wood =
function {
pigment {
Pigm
color_map {
[0 srgb 0]
[1 srgb 1]
}
translate <Trsx,Trsy,Trsz>
rotate Rotx*x
rotate Roty*y
IW_Select_Warp (WarpNbr, Seed, xSize, ySize, zSize)
}
}
#local fn_Disp =
function {
pigment {
average
pigment_map {
[1 function {f_noise3d (0,0,z*1.6)*0.3}
color_map {
[0 srgb 0]
[1 srgb x]
}
]
[1 function {f_noise3d (0,0,-z*1.6)*0.3}
color_map {
[0 srgb 0]
[1 srgb y]
}
]
}
}
}
#local fnShape = function {f_rounded_box (x,y,z, Round, xSize*0.5, ySize*0.5,
zSize*0.5+Round)}
#local fnShape2 = function {(abs (z)-zSize*0.5)}
#local fnShapeT = function {fnShape (x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z)}
#local fnShape2T = function {fnShape2(x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z)}
#declare fnBumpsT = function {fn_Wood (x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z).grey}
#end
#declare P_IW_10 =
pigment {
wood
octaves 6
lambda 2.5
turbulence <0.06,0.06,0.75>
scale <0.02,0.02,0.3>
}
#declare Fin_W_02 =
finish {
ambient 0
diffuse 0.95*0.6
brilliance 1.4
specular 0.4
roughness 0.02
}
#declare GammaFact = 2.2;
#declare ColorDiff = <0,0,0>;
#macro ColorCorrect (Color, Gamma, ColDiff)
rgb <pow (Color.red+ColDiff.red,Gamma),pow (Color.green+ColDiff.green,Gamma),pow
(Color.blue+ColDiff.blue,Gamma)>
#end
#declare CM_IW_02 =
color_map {
[0 ColorCorrect (<0.949,0.792,0.514>, GammaFact, ColorDiff)]
[0.3 ColorCorrect (<0.855,0.651,0.376>, GammaFact, ColorDiff)]
[0.6 ColorCorrect (<0.831,0.596,0.275>, GammaFact, ColorDiff)]
[0.9 ColorCorrect (<0.620,0.447,0.204>, GammaFact, ColorDiff)]
}
IW_Plank_Round_CutN (17, 0.3, 1.6, 8, 2, 0, 0.018, 0.0035, 0.005, pigment
{P_IW_10 scale 1.6}, Fin_W_02, CM_IW_02, 2, 0.3)
#local T_WoodA =
texture {
pigment {
function {fnBumpsT (x,y,z)}
color_map {CM_IW_02}
}
normal {function {fnBumpsT (x,y,z)}, -0.1 accuracy 0.004}
finish {Fin_W_02}
}
Other wood definitions are mostly useful for inhouse applications like flooring
or furniture with more smooth surfaces and coatings. Here specularmaps can be
useful. Outdoor it seems overkill, but you have to take care of the waterline...
Norbert
Post a reply to this message
|
|