// Black pixels problem - see http://news.povray.org/povray.binaries.images/thread/%3Cweb.56b0ca867e1cd917dea14abf0%40news.povray.org%3E/ // render with +kfi1 +kff12 +w800 +h600 ///////////////////////////////////////////////////////////////////////////////////// #version 3.7; ///////////////////////////////////////////////////////////////////////////////////// #declare quali = 2; // 1 - fast / 2 - better #declare radio = quali; // radiosity on or off #declare light = 1; // main light on or off #declare larea = 0; // arealight on or off #declare envir = 1; // a sky_sphere for reflections on or off #declare matra = 5; // max_trace_level - for some materials it is needed to increase this value #declare trama = <0,0,0>; // translate the material - e.g. center it at the big middle sphere with trama = <0,1,0>; #declare setup = 1; // show scene on or off #declare smerg = 0; // setup with merge instead of faster union - for transparency, media or subsurface lighting #declare photn = 0; // photons 0 = out; 1 = save photons; 2 = load photons #declare ramed = off; // media radiosity #declare blurr = 0; // camera blur on or off #declare globs = 1; // common global settings or special ones (globs = 0) #declare a_g = 2.2; global_settings {assumed_gamma a_g subsurface {}}//samples 500, 500}} #declare y_vis = 11/3; // a bit more than the maximum of y axis, which is visible -> important for scaling textures (e.g. gradient y) ///////////////////////////////////////////////////////////////////////////////////// #declare mat = frame_number; ///////////////////////////////////////////////////////////////////////////////////// #include "stdinc.inc" #include "metals.inc" #macro Reorient_Trans (Axis1, Axis2) #local vX1 = vnormalize (Axis1); #local vX2 = vnormalize (Axis2); #local Y = vcross (vX1, vX2); #if (vlength (Y) > 0) #local vY = vnormalize (Y); #local vZ1 = vnormalize (vcross (vX1, vY)); #local vZ2 = vnormalize (vcross (vX2, vY)); transform { matrix matrix } #end #end #declare camloc = <15,17,-15>; #declare lookat = <0,2.1,0>; #declare camang = 52; ////////////////////////////////////////// commonly used things /////////////////////////////////////// #macro Ga (Color) #end //-------------------------------------------------------------------------------------------------------- #macro Gat (Color) #end //-------------------------------------------------------------------------------------------------------- #macro vpow (V, P) #end //-------------------------------------------------------------------------------------------------------- #macro hslft (H,S,L,F,T) // Construct rgb from hsl #if (H < 1/3) #local R = min (2-H*6,1); #end #if (H > 2/3) #local R = min ((H-2/3)*6,1); #end #if (H >= 1/3 & H <= 2/3) #local R = 0; #end #if (H <= 1/3) #local G_ = min (H*6,1); #end #if (H > 1/3 & H < 2/3) #local G_ = min (2-(H-1/3)*6,1); #end #if (H >= 2/3) #local G_ = 0; #end #if (H > 1/3 & H <= 2/3) #local B = min ((H-1/3)*6,1); #end #if (H > 2/3) #local B = min (2-(H-2/3)*6,1); #end #if (H <= 1/3) #local B = 0; #end #local RGB_ = ((1-S)+S*)*L; // Incorporate saturation and lightness rgbft #end #macro hsl (H,S,L) hslft (H,S,L,0,0) #end #macro hslf (H,S,L,F) hslft (H,S,L,F,0) #end #macro hslt (H,S,L,T) hslft (H,S,L,0,T) #end //-------------------------------------------------------------------------------------------------------- //"cslft" lets you change the saturation and brightness of a specified rgb color. #macro cslft (C,S,L,F,T) #local C = C+<0,0,0>; // force C to vector #local Lum = (C.x+C.y+C.z)/3; // Calculate luminance of C - retains hue //#local Lum = 0.3*C.x+0.59*C.y+0.11*C.z; // retains visual brightness #local R = Lum+(C.x-Lum)*S; // Rescale R,G,B using Lum as origin #local G = Lum+(C.y-Lum)*S; #local B = Lum+(C.z-Lum)*S; rgbft *L // Incorporate lightness #end #macro csl (C,S,L) cslft (C,S,L,0,0) #end #macro cslf (C,S,L,F) cslft (C,S,L,F,0) #end #macro cslt (C,S,L,T) cslft (C,S,L,0,T) #end //-------------------------------------------------------------------------------------------------------- #macro CRGB2HSL (Color) // Construct hsl from rgb #local Color = color Color; #local R = (Color.red); // Extract Red, Green and Blue components #local G = (Color.green); #local B = (Color.blue); #local MIN = min (R,min (G,B)); // Find minimum and maximum component of RGB #local MAX = max (R,max (G,B)); #local L = (MAX+MIN)/2; // Find Lightness #if (L <= 0 | L >= 1) #local HSL = <0,0,min (1,max (0,L))>; #else // Find Saturation #local S = (MAX-MIN)/(L < 0.5 ? (L*2) : (2-L*2)); #if (S <= 0) #local HSL = <0,0,L>; #else #local SR = (R-MIN)/(MAX-MIN); // Find fully saturated version of Red, Green and Blue #local SG = (G-MIN)/(MAX-MIN); #local SB = (B-MIN)/(MAX-MIN); #if (SB = 0) // Construct Angle from SR, SG and SB #if (SR = 1) #local Angle = (SG)*60; #else #local Angle = (1-SR)*60+60; #end #end #if (SR = 0) #if (SG = 1) #local Angle = (SB)*60+120; #else #local Angle = (1-SG)*60+180; #end #end #if (SG = 0) #if (SB = 1) #local Angle = (SR)*60+240; #else #local Angle = (1-SB)*60+300; #end #end #local HSL = ; #end #end #end // macro CRGB2HSL ///////////////////////////////////////// scene setup //////////////////////////////////////////// #declare set_up = union { cone { <0,0,0>, 2.5, <0,11,0>, 0 rotate <260,0,0> rotate <0,240,0> translate <3,2.5,-6.5> } cylinder { <0,0,0>, <0,11,0>, 2.4999 rotate <0,0,-90> rotate <0,45,0> translate <-8,2.5,-1> } sphere { <0,0,0>, 3 translate <0,8,0> } box { <0,0,0>, <5,5,5> translate <-2.5,0,-2.5> } torus { 5, 1 rotate <15,0,0> rotate <0,0,315> translate <6.55,4.6525,3.5> } plane { y, 0 translate <0,-0.0001,0> } } #if (mat = 1) ///////////////////////////////////////////////////////////////////////////////////// // Rune Skovbo Johansen FurTex http://runevision.com/3d/povgoodies/furtex.zip #declare Color = rgb <0.9,0.15,0.3>; #declare T1 = material { texture { average texture_map { [1 pigment { bozo color_map { [0 color Color*0.9] [1 color Color*1.1] } scale 0.001 } normal { average normal_map { [1 bumps 0.3*2 warp {turbulence 1} scale 0.2 ] [1 bumps 0.2*2 warp {turbulence 0.5} scale 0.001 ] } } finish {ambient 0 diffuse 0.6*2 brilliance 0.6} ] [1 pigment {color -Color} finish {ambient 0 diffuse 0 phong 0.5*2 phong_size 2 metallic} ] } } scale 0.5 interior {ior 1.4} } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 2) ///////////////////////////////////////////////////////////////////////////////////// // Sean Day Absence http://www.irtc.org/ftp/pub/stills/2006-10-31/missing.zip #declare matra = 15; #declare worktopTex1 = texture { pigment { bozo turbulence 0.475 omega 0.7 lambda 4 color_map { [0 rgb Ga (<0.4,0.16,0.045>)] [0.2 rgb Ga (<0.25,0.120,0.023>)] [0.4 rgb Ga (<0.35,0.18,0.05>)] [0.7 rgb Ga (<0.22,0.1,0.03>)] [0.85 rgb Ga (<0.25,0.120,0.025>)] [1 rgb Ga (<0.21,0.05,0.001>)] } scale <5,0.2,0.2> rotate <0,1,0> } finish {diffuse 0.8} } texture { pigment { wood turbulence 0.315 omega 0.65 lambda 3.5 color_map { [0 rgbt Gat (<0.4,0.16,0.045,0.35>)] [0.2 rgbt Gat (<0.25,0.119,0.023,0.35>)] [0.4 rgbt Gat (<0.35,0.20,0.05,0.35>)] [0.7 rgbt Gat (<0.22,0.1,0.03,0.35>)] [0.85 rgbt Gat (<0.25,0.120,0.025,0.35>)] [1 rgbt Gat (<0.22,0.05,0.001,0.35>)] } rotate <0,90,0> scale <1,0.2,0.2> rotate <0,0.5,10> } finish {diffuse 0.8} } texture {// varnish pigment { wrinkles triangle_wave turbulence 0.8 omega 0.65 color_map { [0 rgbt Gat (<0.25,0.1,0.05,0.95>)] [0.075 rgbt Gat (<0.225,0.08,0.04,0.9>)] [0.15 rgbt Gat (<0.3,0.08,0.03,0.95>)] [0.2 rgbt Gat (<0.25,0.05,0.02,0.925>)] [0.25 rgbt Gat (<0.25,0.08,0.04,0.95>)] [1 rgbt Gat (<0.2,0.075,0.04,0.9>)] } scale 10 } finish {diffuse 0.8 ambient 0 phong 0.1 phong_size 40 specular 0.3 roughness 0.008 reflection 0.01*10} normal { average normal_map { [1 wrinkles 0.05 turbulence 0.1 scale <100,0.01,0.01> rotate <0,0,1>] [1 dents 1 turbulence 0.2 scale <0.5,0.4,0.4>] } } } #declare worktopTex2 = texture { pigment { bozo turbulence 0.375 omega 0.7 lambda 4 color_map { [0 rgb Ga (<0.4,0.16,0.045>*0.8)] [0.2 rgb Ga (<0.25,0.110,0.023>*0.8)] [0.4 rgb Ga (<0.35,0.20,0.05>*0.8)] [0.7 rgb Ga (<0.22,0.1,0.03>*0.8)] [0.85 rgb Ga (<0.25,0.120,0.025>*0.8)] [1 rgb Ga (<0.22,0.05,0.001>*0.8)] } scale <5,0.2,0.2> rotate <0,1,0> } finish {diffuse 0.8} } texture { pigment { wood turbulence 0.135 omega 0.65 lambda 3 color_map { [0 rgbt Gat (<0.4*0.8,0.16*0.8,0.045*0.9,0.5>)] [0.2 rgbt Gat (<0.25*0.8,0.112*0.8,0.023*0.9,0.5>)] [0.4 rgbt Gat (<0.35*0.8,0.20*0.8,0.05*0.9,0.5>)] [0.7 rgbt Gat (<0.22*0.8,0.1*0.8,0.03*0.9,0.5>)] [0.85 rgbt Gat (<0.25*0.8,0.118*0.8,0.025*0.9,0.5>)] [1 rgbt Gat (<0.22*0.8,0.05*0.8,0.001*0.9,0.5>)] } rotate <0,90,0> scale <1,0.2,0.2> rotate <0,0.5,10> } finish {diffuse 0.8} } texture {// varnish pigment { wrinkles triangle_wave turbulence 0.8 omega 0. color_map { [0 rgbt Gat (<0.25,0.1,0.05,0.95>)] [0.075 rgbt Gat (<0.225,0.07,0.04,0.9>)] [0.15 rgbt Gat (<0.3,0.1,0.05,0.95>)] [0.2 rgbt Gat (<0.25,0.05,0.02,0.925>)] [0.25 rgbt Gat (<0.25,0.04,0.02,0.95>)] [1 rgbt Gat (<0.2,0.05,0.03,0.9>)] } scale 10 } finish {diffuse 0.8 ambient 0 phong 0.1 phong_size 40 specular 0.3 roughness 0.008 reflection 0.01*10} normal { average normal_map { [1 wrinkles 0.05 turbulence 0.1 scale <100,0.01,0.01> rotate <0,0,1>] [1 dents 1 turbulence 0.2 scale <0.5,0.4,0.4>] } } } #declare wt1 = texture { gradient x texture_map { [0 worktopTex1] [0.5 worktopTex1] [0.5 worktopTex2] [1 worktopTex2] } scale <10,1,1> } #declare wt2 = texture { gradient x texture_map { [0 worktopTex1] [0.5 worktopTex1] [0.5 worktopTex2] [1 worktopTex2] } scale <10,1,1> translate <2.5,3,5> } #declare worktopTex = texture { gradient z texture_map { [0 wt1] [0.5 wt1] [0.5 wt2] [1 wt2] } scale <1,1,1.25> } #declare T1 = material { texture {worktopTex} rotate x*90 interior {ior 1.4} scale 0.4 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 3) ///////////////////////////////////////////////////////////////////////////////////// // Sean Day Royal Scot http://www.irtc.org/ftp/pub/stills/2006-08-31/oldroyal.zip #declare radio = 2; // to see the full beauty of this material, you need better radiosity settings! #declare concreteNormal = normal { average normal_map { [1 granite 1 omega 0.65 lambda 3.3 turbulence 0.125 scale 3.5] [1 wrinkles 1 omega 0.62 lambda 2.5 turbulence 0.15 scale 2] [1 wrinkles 1 omega 0.7 lambda 3 turbulence 0.25 scale 0.25] } } #declare rock_base = texture { pigment { granite triangle_wave omega 0.6 lambda 3 turbulence 0.275 color_map { [0 rgb Ga (<0.175,0.175,0.175>)] [1 rgb Ga (<0.425,0.425,0.425>)] } scale 0.25 } finish {ambient 0 diffuse 0.5*2} normal {concreteNormal} } #declare land_tex_1 = texture { pigment { granite turbulence 0.05 omega 0.7 lambda 4 scale <0.25,0.25,0.25> color_map { [0 rgbt Gat (<0.15,0.09,0.015,0.5>)] [0.4 rgbt Gat (<0.15,0.09,0.015,1>)] [0.4 rgbt 1] [1 rgbt 1] } } finish {ambient 0 diffuse 0.45*2 specular 0 phong 0 brilliance 0.9} normal {concreteNormal} } #declare land_tex_2 = texture { pigment { wrinkles cubic_wave turbulence 0.225 omega 0.7 lambda 4 scale <0.15,0.15,0.15> color_map { [0 rgbt Gat (<0.15,0.09,0.015,0.1>)] [0.4 rgbt Gat (<0.15,0.09,0.015,1>)] [0.4 rgbt 1] [1 rgbt 1] } } finish {ambient 0 diffuse 0.45*2 specular 0 phong 0 brilliance 0.9} normal {concreteNormal } } #declare land_tex_3 = texture { pigment { wrinkles sine_wave turbulence 0.35 omega 0.65 lambda 4 scale 0.05 color_map { [0 rgbt 1] [0.7 rgbt 1] [0.7 rgbt Gat (<0.15,0.09,0.015,1>)] [1 rgbt Gat (<0.15,0.09,0.015,0.3>)] } } finish {ambient 0 diffuse 0.45*2 specular 0 phong 0 brilliance 0.9} normal {concreteNormal} } #declare land_tex_4 = texture { pigment { bozo scallop_wave turbulence 0.7 omega 0.7 lambda 4 octaves 10 scale 0.56 color_map { [0 rgbt 1] [0.9 rgbt 1] [0.925 rgbt Gat (<0.0075,0.06,0.0005,1>)] [0.975 rgbt Gat (<0.0075,0.06,0.0005,0.4>)] [1 rgbt Gat (<0.0075,0.06,0.0005,0>)] } } finish {ambient 0 diffuse 0.45*2 specular 0 phong 0 brilliance 0.9} normal {concreteNormal } } #declare land_tex_5 = texture { pigment { granite turbulence 0.2 omega 0.6 lambda 2.5 scale 0.01 color_map { [0 rgbt 1] [0.1 rgbt 1] [0.15 rgbt Gat (<0.1,0.06,0.01,1>)] [0.3 rgbt Gat (<0.1,0.06,0.01,0.1>)] [0.45 rgbt Gat (<0.1,0.06,0.01,1>)] [0.5 rgbt 1] [0.6 rgbt 1] [0.65 rgbt Gat (<0.0075,0.06,0.0005,1>)] [0.75 rgbt Gat (<0.0075,0.06,0.0005,0.05>)] [0.9 rgbt Gat (<0.0075,0.06,0.0005,1>)] [0.95 rgbt 1] [1 rgbt 1] } } finish {ambient 0 diffuse 0.45*2 specular 0 phong 0 brilliance 1.21} normal {concreteNormal} } #declare land_tex_6 = texture { pigment { gradient z turbulence 0.275 omega 0.626 lambda 3 scale <10,5,1> color_map { [0 rgbt 1 ] [0.1 rgbt 1 ] [0.1 rgbt Gat (<0.3,0.25,0.0125,1>)] [0.25 rgbt Gat (<0.21,0.155,0.0055,0.75>)] [0.35 rgbt Gat (<0.175,0.05,0.001,0.3>)] [0.4 rgbt Gat (<0.12,0.04,0.0003,0.075>)] [0.8 rgbt Gat (<0.075,0.016,0.0001,0.01>)] [0.8 rgbt 1 ] [1 rgbt 1 ] } } finish {ambient 0 diffuse 0.6*2} normal {concreteNormal} } #declare land_tex_dry = texture { rock_base scale <2,2,2>//95> } texture { land_tex_1 scale <2,2,2>//95> } texture { land_tex_2 scale <2,2,2>//95> } texture { land_tex_3 scale <2,2,2>//95> } texture { land_tex_4 scale <2,2,2>//95> } texture { land_tex_5 scale <2,2,2>//95> } texture { pigment { gradient x turbulence 0.125 omega 0.775 lambda 3.2 color_map { [0 rgbt 1] [0.3 rgbt 1] [0.3 rgbt Gat (<0.02,0.01,0,1>)] [0.4 rgbt Gat (<0.02,0.01,0,0.1>)] [0.5 rgbt Gat (<0.02,0.01,0,0.1>)] [0.6 rgbt Gat (<0.02,0.01,0,0.1>)] [0.7 rgbt Gat (<0.02,0.01,0,1>)] [0.7 rgbt 1] [1 rgbt 1] } scale <2,2,200> } finish {ambient 0 diffuse 0.4*2 brilliance 0.85} normal {concreteNormal } } #declare wallTex = texture { pigment { wrinkles scallop_wave color_map { [0 rgb Ga (<0.86,0.8,0.6>)] [0.3 rgb Ga (<0.9,0.825,0.77>)] [0.6 rgb Ga (<0.95,0.85,0.8>)] [0.7 rgb Ga (<0.8,0.625,0.567>)] [0.9 rgb Ga (<0.9,0.825,0.77>)] } } finish {ambient 0 diffuse 0.6*2} normal {concreteNormal} } texture {// add grease/dirt pigment { wrinkles scallop_wave turbulence 0.31 omega 0.65 lambda 3 color_map { [0 rgbt 1] [0.1 rgbt 1] [0.15 rgbt Gat (<0.01,0.002,0,1>)] [0.2 rgbt Gat (<0.01,0.002,0,0.7>)] [0.4 rgbt Gat (<0.01,0.002,0,0.6>)] [0.45 rgbt Gat (<0.025,0.01,0.001,0.2>)] [0.5 rgbt Gat (<0.01,0.002,0,0.7>)] [0.525 rgbt Gat (<0.01,0.002,0,1>)] [0.525 rgbt 1] [0.8 rgbt 1] [0.8 rgbt Gat (<0.1,0.035,0.005,1>)] [0.81 rgbt Gat (<0.1,0.035,0.005,0.4>)] [0.9 rgbt Gat (<0.15,0.085,0.009,0.8>)] [0.94 rgbt Gat (<0.15,0.085,0.009,1>)] [1 rgbt 1] } scale <50,40,50> } finish {ambient 0 diffuse 0.4*2} normal {concreteNormal} } texture {// add grease/dirt pigment { wrinkles turbulence 1 omega 0.75 lambda 3 color_map { [0 rgbt 1] [0.1 rgbt 1] [0.15 rgbt Gat (<0.01,0.002,0,1>)] [0.2 rgbt Gat (<0.01,0.002,0,0.7>)] [0.4 rgbt Gat (<0.01,0.002,0,0.5>)] [0.45 rgbt Gat (<0.025,0.01,0.001,0.4>)] [0.5 rgbt Gat (<0.01,0.002,0,0.9>)] [0.525 rgbt Gat (<0.01,0.002,0,1>)] [0.525 rgbt 1] [0.8 rgbt 1] [0.8 rgbt Gat (<0.1,0.035,0.005,1>)] [0.81 rgbt Gat (<0.1,0.035,0.005,0.8>)] [0.9 rgbt Gat (<0.15,0.085,0.009,0.6>)] [0.94 rgbt Gat (<0.15,0.085,0.009,1>)] [1 rgbt 1] } rotate <20,30,20> scale <45,55,35> } finish {ambient 0 diffuse 0.4*2} normal {concreteNormal} } texture { pigment { gradient y turbulence 0.115 omega 0.8 lambda 2.2 color_map { [0 rgbt Gat (<0.05,0.03,0,0>)] [0.3 rgbt Gat (<0.05,0.03,0,0.2>)] [0.6 rgbt Gat (<0.05,0.03,0,0.4>)] [0.9 rgbt Gat (<0.05,0.03,0,0.9>)] [1 rgbt Gat (<0.05,0.03,0,0.99>)] } scale <5,375,5> translate <0,-100,0> } finish {ambient 0 diffuse 0.3*2} normal {concreteNormal} } #declare T1 = material { texture { gradient y turbulence 0.1 texture_map { [0 land_tex_dry scale <1,0.01,0.0002>] [0.1 land_tex_dry scale <1,0.01,0.0002>] [0.7 wallTex scale 0.004] [1 wallTex scale 0.004] } scale 275/3.2*y_vis translate <0,-45/3.2*y_vis,0> } interior {ior 1.6} scale 0.015 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 4) ///////////////////////////////////////////////////////////////////////////////////// // Bob Hughes Cinder Block Update http://news.povray.org/povray.text.scene-files/message/%3C37c41a24%40news.povray.org%3E/#%3C37c41a24%40news.povray.org%3E #declare LF = 1.3; #declare MortarTexture = texture { pigment { granite frequency 5 color_map { [0.1 rgb 0.825] [0.2 rgb 0.925] [0.4 rgb 0.85] [0.5 rgb 0.8] [0.8 rgb 0.85] } ramp_wave } normal {granite -0.2 frequency 5 sine_wave accuracy 0.001} finish { ambient <0.1333,0.15,0.1667>*(LF/1.125)*0 diffuse 0.79*(1.125/LF)*0.85 specular 0.09 roughness 0.2 brilliance 0.8 crand 0.025 } scale <0.125,1,1> } #declare CinderTexture = texture { pigment { granite frequency 3 color_map { [0.1 rgb 0.6] [0.2 rgb 0.9] [0.4 rgb 0.75] [0.5 rgb 0.85] [0.8 rgb 0.7] } scallop_wave } normal {granite -0.6 frequency 3 ramp_wave accuracy 0.001} finish { ambient <0.1333,0.15,0.1667>*(LF/1.125)*0 diffuse 0.72*(1.125/LF)*0.85 specular 0.03 roughness 0.4 brilliance 0.6 crand 0.05 } scale <0.125,1,1> } #declare YellowPaintM = texture {MortarTexture} texture { pigment { gradient z color_map { [0.025 rgb <0.9,0.75,0.5>*1.25] [0.05 rgbf 1] } ramp_wave } normal {granite 0.125 scale 0.33 accuracy 0.001} finish { ambient 0.125*0 diffuse 0.7*0.85 specular 0.1 roughness 0.09 phong 0.05 phong_size 10 reflection 0.025 reflection_exponent 0.6 } scale 3.75 scale <0.125,1,2> translate -3.8*z } #declare YellowPaintC = texture {CinderTexture} texture { pigment { gradient z color_map { [0.025 rgb <0.9,0.75,0.5>*1.25] [0.05 rgbf 1] } ramp_wave } normal {granite 0.125 scale 0.36 accuracy 0.001} finish { ambient 0.125*0 diffuse 0.7*0.85 specular 0.1 roughness 0.09 phong 0.05 phong_size 10 reflection 0.05 reflection_exponent 0.4 } scale 3.75 scale <0.125,1,2> translate -3.8*z } #declare T1 = material { texture { gradient x texture_map { [0.45 YellowPaintM scale <0.1667,1,1>] [0.55 MortarTexture scale <0.125,1,1>] } } interior {ior 1.5} scale 0.5 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 5) ///////////////////////////////////////////////////////////////////////////////////// // Marc Schimmler rust texture http://news.povray.org/povray.text.scene-files/message/%3C37F13572.68E6C1D5%40ica.uni-stuttgart.de%3E/#%3C37F13572.68E6C1D5%40ica.uni-stuttgart.de%3E #declare Rust_Tex = texture { pigment { bumps color_map { [0 rgb <0.113636,0.113636,0.113636>] [0.243924 rgb <0.395047,0.243284,0.147405>] [0.49399 rgb <0.676458,0.372932,0.181175>] [0.49399 rgb <0.676458,0.372932,0.181175>] [0.49399 rgb <0.676458,0.372932,0.181175>] [0.49399 rgb <0.676458,0.372932,0.181175>] [0.49399 rgb <0.676458,0.372932,0.181175>] [0.747913 rgb <0.838229,0.447461,0.200587>] [0.777963 rgb <1,0.52199,0.22>] [0.777963 rgb <1,0.52199,0.22>] [0.854667 rgb <0.602272,0.321683,0.133005>] [1 rgb <0.204545,0.121376,0.046011>] } turbulence 1.2 } normal { bumps normal_map { [0.2 bumps turbulence 1.1 scale 0.01] [0.8 granite turbulence 0.1] } } } #declare T1 = material { texture {Rust_Tex} interior {ior 1.5} scale 0.03 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 6) ///////////////////////////////////////////////////////////////////////////////////// // inspired by Alex Kluchikov Checkered plane under reflective sphere http://news.povray.org/povray.text.scene-files/thread/%3C40a213d1%40news.povray.org%3E/ #declare trama = <0.125,0.125,0.125>; #declare P1 = rgb <200,118,38>/255; #declare Mosaic_Source1 = texture { pigment { marble turbulence 0.25 scale 0.5 color_map { [0 P1] [1 P1-0.125] } rotate 45 } finish { ambient 0 diffuse 0.8 specular 1 roughness 0.005 //metallic brilliance 2 //reflection {0, 1 metallic 1 fresnel on} } } #declare P2 = rgb 1-<200,118,38>/255; #declare Mosaic_Source2 = texture { pigment { marble turbulence 0.25 scale 0.5 color_map { [0 P2] [1 P2-0.125] } rotate -45 } finish { ambient 0 diffuse 0.8 specular 1 roughness 0.005 //metallic brilliance 2 //reflection {0, 1 metallic 1 fresnel on} } } #declare chps = pigment { function { (pow (abs (sin (x)),0.25)*select (sin (x),-1,0,1) *pow (abs (sin (y)),0.25)*select (sin (y),-1,0,1) *pow (abs (sin (z)),0.25)*select (sin (z),-1,0,1) +1)*0.5 } color_map { [0 rgb 0] [1 rgb 1] } scale 0.5/pi } #declare parf0 = pigment { average pigment_map { #declare i = 0; #while (i < 1) [pow (0.5,i*0.25) chps translate i*0.5 rotate y*i*45 scale pow (0.5,i*0.5) ] #declare i = i+1; #end } scale 2 translate 100 } #declare terracotta = texture { pigment {color rgb 0} finish { ambient 0 diffuse 0 specular 0 reflection 0 } } #declare parf = function {pigment {parf0}} #declare parfn1 = normal { function {parf (x,y,z).x} 0.6 slope_map { [0 <1, 1>] [0.5 <0,-1>] [0.5 <0, 1>] [1 <1,-1>] } } #declare T1 = material { texture { function {parf (x,y,z).x} texture_map { [0.3 Mosaic_Source1 normal { average normal_map { [1 parfn1 4] [1 bozo 4 scale 0.25] [1 bumps 0.8 turbulence 1 scale 0.025] [1 bumps 0.4 turbulence 1 scale 0.005] } accuracy 1e-6 } ] [0.4 terracotta] [0.6 terracotta] [0.7 Mosaic_Source2 normal { average normal_map { [1 parfn1 4] [1 bozo 4 scale 0.25] [1 bumps 0.8 turbulence 1 scale 0.025] [1 bumps 0.4 turbulence 1 scale 0.005] } accuracy 1e-6 } ] } } scale 0.25 interior {ior 1.5} } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 7) ///////////////////////////////////////////////////////////////////////////////////// // Sean Day Natural History Museum http://images.povcomp.com/entries/extras/199/199_source.zip #declare MyBronze1 = texture { pigment { wrinkles triangle_wave turbulence 0.235 omega 0.575 lambda 3 color_map { [0 rgb Ga (<0.65,0.57,0.34>*0.75)*1.4] [1 rgb Ga (<0.65,0.57,0.34>*0.5)*1.4] } } finish { ambient 0 brilliance 6 diffuse 0.8 metallic specular 1 roughness 0.01 reflection {0, 0.075*10 fresnel on} } normal {dents 0.85 scale 0.5} } #declare MyBronze2 = texture { pigment { wrinkles triangle_wave turbulence 0.375 omega 0.625 lambda 3 color_map { [0 rgb Ga (<0.45,0.37,0.18>*0.05)*1.4] [1 rgb Ga (<0.45,0.37,0.18>*0.1)*1.4] } scale 0.8 } finish { ambient 0 brilliance 1 diffuse 0.6 phong 0.5 phong_size 100 } normal {dents 0.85 scale 0.5*0.05} } #declare MyBronze = texture { wrinkles turbulence 0.525 octaves 10 lambda 3.5 triangle_wave texture_map { [0 MyBronze1] [0.2 MyBronze1] [0.6 MyBronze2] [1 MyBronze2] } scale <0.6,0.35,0.5> rotate <10,-30,10> } #declare T1 = material { texture {MyBronze} interior {ior 3.5} scale 0.5 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 8) ///////////////////////////////////////////////////////////////////////////////////// // circle inversion transform #macro c_invert (pig_in) #local f1 = function {pigment {pig_in}} #local f2R = function { f1 ( 1/max (0.0001, sqrt ((x*x)+(y*y)))*cos (atan2 (x,y)), 1/max (0.0001, sqrt ((x*x)+(y*y)))*sin (atan2 (x,y)), z ).red } #local f2G = function { f1 ( 1/max (0.0001, sqrt ((x*x)+(y*y)))*cos (atan2 (x,y)), 1/max (0.0001, sqrt ((x*x)+(y*y)))*sin (atan2 (x,y)), z ).green } #local f2B = function { f1 ( 1/max (0.0001, sqrt ((x*x)+(y*y)))*cos (atan2 (x,y)), 1/max (0.0001, sqrt ((x*x)+(y*y)))*sin (atan2 (x,y)), z ).blue } #local f3 = pigment { average pigment_map { [1 function {f2R (x,y,z)} color_map { [0 rgb 0] [1 rgb <3,0,0>] } ] [1 function {f2G (x,y,z)} color_map { [0 rgb 0] [1 rgb <0,3,0>] } ] [1 function {f2B (x,y,z)} color_map { [0 rgb 0] [1 rgb <0,0,3>] } ] } } f3 #end #declare T1 = material { texture { pigment { c_invert ( pigment { leopard color_map { #declare rn = seed (6); #declare n = 0; #while (n < 24) [n/24 color hsl (rand (rn),1,1)] #declare n = n+1; #end } scale 0.14 } ) scale 0.8 } normal { average normal_map { [1 quilted 1.5 control0 0.5 control1 0.9 scale 0.006 turbulence 1 ] [1 bumps 0.45 warp {turbulence 1} scale 0.05 ] [1 bumps 0.3 warp {turbulence 0.5} scale 0.00025 ] [1 pigment_pattern { c_invert ( pigment { leopard scale 0.14 } ) scale 0.8 } 4 ] } } finish {ambient 0 diffuse 0.7 phong 0.2 reflection 0.03} } interior {ior 1.5} scale 1 Reorient_Trans (z, 1) } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 9) ///////////////////////////////////////////////////////////////////////////////////// // concrete #declare concreteNormal = normal { average normal_map { [1 granite 1 omega 0.65 lambda 3.3 turbulence 0.125 scale 3.5] [1 wrinkles 1 omega 0.62 lambda 2.5 turbulence 0.15 scale 2] [1 wrinkles 1 omega 0.7 lambda 3 turbulence 0.25 scale 0.25] } } #declare wallTex = texture { pigment { wrinkles scallop_wave color_map { [0 rgb Ga (<0.86,0.8,0.6>)] [0.3 rgb Ga (<0.9,0.825,0.77>)] [0.6 rgb Ga (<0.95,0.85,0.8>)] [0.7 rgb Ga (<0.8,0.625,0.567>)] [0.9 rgb Ga (<0.9,0.825,0.77>)] } } finish {ambient 0 diffuse 0.6} normal {concreteNormal} } texture { pigment { wrinkles scallop_wave turbulence 0.31 omega 0.65 lambda 3 color_map { [0 rgbt 1] [0.1 rgbt 1] [0.15 rgbt Gat (<0.01,0.002,0,1>)] [0.2 rgbt Gat (<0.01,0.002,0,0.7>)] [0.4 rgbt Gat (<0.01,0.002,0,0.6>)] [0.45 rgbt Gat (<0.025,0.01,0.001,0.2>)] [0.5 rgbt Gat (<0.01,0.002,0,0.7>)] [0.525 rgbt Gat (<0.01,0.002,0,1>)] [0.525 rgbt 1] [0.8 rgbt 1] [0.8 rgbt Gat (<0.1,0.035,0.005,1>)] [0.81 rgbt Gat (<0.1,0.035,0.005,0.4>)] [0.9 rgbt Gat (<0.15,0.085,0.009,0.8>)] [0.94 rgbt Gat (<0.15,0.085,0.009,1>)] [1 rgbt 1] } scale 50 } finish {ambient 0 diffuse 0.4} normal {concreteNormal} } texture { pigment { wrinkles turbulence 1 omega 0.75 lambda 3 color_map { [0 rgbt 1] [0.1 rgbt 1] [0.15 rgbt Gat (<0.01,0.002,0,1>)] [0.2 rgbt Gat (<0.01,0.002,0,0.7>)] [0.4 rgbt Gat (<0.01,0.002,0,0.5>)] [0.45 rgbt Gat (<0.025,0.01,0.001,0.4>)] [0.5 rgbt Gat (<0.01,0.002,0,0.9>)] [0.525 rgbt Gat (<0.01,0.002,0,1>)] [0.525 rgbt 1] [0.8 rgbt 1] [0.8 rgbt Gat (<0.1,0.035,0.005,1>)] [0.81 rgbt Gat (<0.1,0.035,0.005,0.8>)] [0.9 rgbt Gat (<0.15,0.085,0.009,0.6>)] [0.94 rgbt Gat (<0.15,0.085,0.009,1>)] [1 rgbt 1] } rotate <20,30,20> scale 50 } finish {ambient 0 diffuse 0.4} normal {concreteNormal} } #declare T1 = material { texture {wallTex} interior {ior 1.5} scale 0.005 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 10) ///////////////////////////////////////////////////////////////////////////////////// +kfi884 +kff844 // Ron Parker Square and triangular pattern http://news.povray.org/povray.unofficial.patches/message/%3C37caacfb%40news.povray.org%3E/#%3C37caacfb%40news.povray.org%3E #declare matra = 15; #macro TriTiles (PigArray) #local hexBlock = pigment { radial pigment_map { #local i = 0; #while (i < 6) [i/6 PigArray [i]] [(i+1)/6 PigArray [i]] #local i = i+1; #end } } radial pigment_map { #local i = 1; #while (i < 3) [i/3 hexBlock translate vrotate (x,(120*i-60)*y) ] [i/3 hexBlock translate vrotate (x,(120*i+60)*y) ] #local i = i+1; #end } warp {repeat x flip x } warp {repeat sqrt (3)*z} scale 0.5 #end #declare rn = seed (55); #declare c1 = hsl (rand (rn),1,1)*1.2; #declare c2 = hsl (rand (rn),1,1)*1.2; #declare c3 = hsl (rand (rn),1,1)*1.2; #declare c4 = hsl (rand (rn),1,1)*1.2; #declare c5 = hsl (rand (rn),1,1)*1.2; #declare c6 = hsl (rand (rn),1,1)*1.2; #declare MyPigArray = array [6] { /*pigment {color 1.5*Red} pigment {color 1.5*Yellow} pigment {color 1.5*Green} pigment {color 1.5*Cyan} pigment {color 1.5*Blue} pigment {color 1.5*Magenta}*/ pigment {color rgb c1} pigment {color rgb c2} pigment {color rgb c3} pigment {color rgb c4} pigment {color rgb c5} pigment {color rgb c6} } #declare T1 = material { texture { pigment {TriTiles (MyPigArray)} finish { brilliance 4 diffuse 0.2 metallic specular 0.8 roughness 0.025 reflection {0.7 metallic} } normal {bumps 0.05 scale 0.0001} } interior {ior 1.5} scale 0.4 Reorient_Trans (y, 1) } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 11) ///////////////////////////////////////////////////////////////////////////////////// // Janet Complicated texturing problem http://news.povray.org/povray.newusers/message/%3C53cb6f18%40news.povray.org%3E/#%3C53cb6f18%40news.povray.org%3E #declare trama = <0,-0.001,0>; #declare Janets_trick = texture { pigment_pattern {gradient y} texture_map { [0 pigment { crackle color_map { [0 rgb <0,1,0>] [0.33 rgb <0,0,1>] [0.66 rgb <0,1,1>] [1 rgb <1,1,0>] } scale 0.025 turbulence 0.25 } finish {reflection 0.5} scale 1/y_vis ] [0.25 pigment { bozo color_map { [0 rgb <1,1,0>] [0.33 rgb <1,0,1>] [0.66 rgb <0,1,1>] [1 rgb <1,1,0>] } scale 0.05 turbulence 0.5 } finish {specular 0.5} normal {bumps scale 0.001 turbulence 1} scale 1/y_vis ] [0.5 pigment {color rgb <0,1,0>} finish {F_MetalC} normal {crackle scale 0.1 turbulence 1} scale 1/y_vis ] [0.75 pigment { agate color_map { [0 rgb <0.8,0.9,1>*1.5] [0.45 rgb <0.8,0.9,1>*0.95] [0.5 rgb <0.8,0.9,1>*0.4] [0.65 rgb <0.8,0.9,1>*0.95] [1 rgb <0.8,0.9,1>*1.5] } scale 0.2 turbulence 0.001 } finish {phong 0.5 phong_size 30 specular 0.9} normal {quilted scale 0.005 turbulence 0.5} scale 1/y_vis ] [1 pigment { marble color_map { [0 rgb <1,0,0>] [0.2 rgb <1,0.5,0>] [0.4 rgb <0.5,1,0>] [0.6 rgb <1,1,0>] } scale 0.1 turbulence 0.2 } finish {F_MetalC} normal {bumps scale 0.005 turbulence 1} scale 1/y_vis ] } translate x*-0.3 } #declare T1 = material { texture {Janets_trick} interior {ior 1.5} scale y_vis } #end ///////////////////////////////////////////////////////////////////////////////////// #if (mat = 12) ///////////////////////////////////////////////////////////////////////////////////// // Sean Day TreePassage #declare textureRand = seed (2451); #macro tr (num) rand (textureRand)*num #end #declare mushroomBottomTex = texture { pigment { granite turbulence 0.9 omega 0.7 lambda 2.5 color_map { [0 rgb Ga (<0.8,0.775,0.75>*0.5)] [0.7 rgb Ga (<0.8,0.775,0.75>*0.35)] [1 rgb Ga (<0.8,0.5,0.175>*0.2)] } scale 0.1 } finish {specular albedo 0.05 roughness 0.2 diffuse albedo 0.7 brilliance 0.8} } #declare mushroomTopTex1 = texture { pigment { bozo turbulence 0.2 omega 0.5 lambda 3.5 #declare cNum = 0; color_map { #while (cNum < 1) [cNum rgb Ga (<0.1+tr(0.4),0.03+tr(0.1),0.2+tr(0.25)>*(0.125+tr(0.125)))] #declare cNum = cNum+0.02; #end } } finish { specular albedo 0.1 roughness 0.05 phong albedo 0.01 phong_size 80 diffuse albedo 0.65 brilliance 5 reflection {0.008, 0.01 fresnel on} conserve_energy } normal { average normal_map { [0.5 granite 0.185 scale <1,1.25,1>*2 turbulence 0.1 omega 0.7 lambda 3 ] [0.5 wrinkles 0.25 scale <1,2,1> turbulence 0.1 omega 0.7 lambda 3 ] } } } #declare mushroomTopTex2 = texture { pigment { bozo turbulence 0.2 omega 0.5 lambda 3.5 #declare cNum = 0; color_map { #while (cNum < 1) [cNum rgb Ga (<0.1+tr(0.4),0.035+tr(0.1),0.2+tr(0.25)>*(0.085+tr(0.05)))] #declare cNum = cNum+0.02; #end } } finish { specular albedo 0.1 roughness 0.05 phong albedo 0.01 phong_size 80 diffuse albedo 0.65 brilliance 5 reflection {0.008, 0.01 fresnel on} conserve_energy } normal { average normal_map { [0.5 granite 0.385 scale <1,1.25,1>*2 turbulence 0.1 omega 0.7 lambda 3 ] [0.5 wrinkles 0.5 scale <1,2,1> turbulence 0.1 omega 0.7 lambda 3 ] [0.75 agate 0.75 scale <1,2,1> scallop_wave turbulence 0.05 omega 0.55 lambda 2 ] } } } #declare T1 = material { texture { bozo turbulence 0.1 omega 0.5 lambda 3.5 texture_map { [0 mushroomTopTex1] [0.2 mushroomTopTex1] [0.8 mushroomTopTex2] [0.8 mushroomBottomTex] [1 mushroomBottomTex] } scale 0.01 } interior {ior 1.35} scale 1 } #end ///////////////////////////////////////////////////////////////////////////////////// #if (setup = 1) object {set_up material {T1 translate trama scale 3} hollow double_illuminate} #end ///////////////////////////////////////////////////////////////////////////////////// #declare RAD = 2*radio; // radiosity quality settings 0 = out; 1 = poor; 16 = good (for most cases, 2 or 4 is enough) #if (globs = 1) global_settings { assumed_gamma a_g subsurface {} noise_generator 2 max_trace_level matra #if (photn > 0) photons { spacing 0.002 autostop 0 jitter 1 #if (photn = 1) save_file "pov.ph" #else load_file "pov.ph" #end } #end #if(RAD > 0) radiosity { pretrace_start 0.08 pretrace_end 0.04/RAD count 20*RAD nearest_count min (20, RAD) error_bound 2/RAD low_error_factor 0.5 recursion_limit 1 gray_threshold 0.4 minimum_reuse 0.015 brightness 2 adc_bailout 0.005 normal on media ramed always_sample off } #end } #end #if (setup = 1) camera { location camloc look_at lookat right x*image_width/image_height up y angle camang #if (blurr = 1) focal_point <2,2,2> aperture 0.5 blur_samples 200 confidence 0.9999 variance 0 #end } #end #if (light = 1) light_source { <-50,52,-50>, rgb 0.91 #if (larea > 0) area_light <0,0,10>, <0,10,0> 5*larea, 5*larea adaptive larea jitter circular orient #end rotate y*-130 } #end #if (envir = 1) sky_sphere { pigment { function {max (min (y, 1), 0)} color_map { [0 rgb 0.7*221/255] [0.1029 rgb 0.7*229/255] [0.1512 rgb 0.7*241/255] [0.1949 rgb 0.7*239/255] [0.2444 rgb 0.7*227/255] [0.2921 rgb 0.7*213/255] [0.3732 rgb 0.7*180/255] [0.4255 rgb 0.7*172/255] [0.7067 rgb 0.7*126/255] [0.774 rgb 0.7*119/255] [0.8275 rgb 0.7*114/255] [0.885 rgb 0.7*111/255] [0.9425 rgb 0.7*107/255] [1 rgb 0.7*103/255] } } } #end