// Persistence of Vision Ray Tracer Scene Description File // File: 011112b1.pov // Vers: 3.5 beta 7 // Desc: Unicode - Example // Date: 11/20/2001 // Auth: Ryoichi Suzuki < r-suzuki@aist.go.jp > // #version 3.5; global_settings{charset utf8} #include "functions.inc" #include "shapes.inc" #declare Radiosity=off; #declare AREA_LIGHT=off; #declare FOCAL_BLUR = off; #declare Blur_Smpl =20; global_settings { #if (Radiosity) radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.02 // end pretrace at this size count 5 // higher -> higher quality (1..1600) [35] nearest_count 3 // higher -> higher quality (1..10) [5] error_bound 1.8 // higher -> smoother, less accurate [1.8] recursion_limit 3 // how much interreflections are calculated (1..5+) [3] low_error_factor .5 // reduce error_bound during last pretrace step gray_threshold 0.0 // increase for weakening colors (0..1) [0] minimum_reuse 0.05 // reuse of old radiosity samples [0.015] brightness 0.75 // brightness of radiosity effects (0..1) [1] adc_bailout 0.01/2 normal off // take surface normals into account [off] } #end } camera { location <-0.3, 0.8, -1.0> direction 4.5*z right x*image_width/image_height look_at <0.005, 0.51, 0.0> //-- focal blur #if (FOCAL_BLUR) aperture 0.010 blur_samples Blur_Smpl focal_point <0.0,0.55,0.0> confidence 0.90 variance 1/100 #end } light_source { <1,1.5,-1> color rgb 1.8 #if (AREA_LIGHT) area_light <0.7, 0, 0>, <0, 0.7,0>, 3, 3 adaptive 1 jitter #end fade_distance 1.5 fade_power 2} light_source { <-0.5,1.44,-1> color rgb 0.8 #if (AREA_LIGHT) area_light <0.1, 0, 0>, <0, 0.2,0>, 2, 3 adaptive 1 jitter #end fade_distance 1.5 fade_power 2} light_source { 0 color rgb 0.1 translate <-0.8, 1.4, -1.2> shadowless} #declare Max_X=8; #declare Min_Y=-0.01; #declare Max_Y=-0.0025; #declare Max_Z=4; #declare ClothCol= color <0.9,0.65,0.6>; #declare ClothFin= finish{ ambient 0.3 diffuse 0.5 specular 0.0 }; #declare Freq1=160; // frequency of threads for x-axis #declare Freq2=120; // frequency of threads for z-axis // function F_cloth1 // unit cell:small trancated cones // F1: frequency of threads for x-axis // F2: frequency of threads for z-axis // SLOPE1: slope of the cone // Trunc: Truncating height #declare F_cloth1=function(x,y,z,F1,F2,SLOPE1, Trunc){ f_r((mod((x+100)*F1 +f_noise3d(x*F1/4,0,z*F2/4)*0.5,1)-0.5)/F1, 0, (mod((z+100)*F2 -f_noise3d(x*F1/4,0,z*F2/4)*0.5,1)-0.5)/F2) *0.5*(1+f_noise3d(x*F1,y,z*F2)) +y/SLOPE1 & (y+Trunc) } #declare PTemp=pigment { image_map { jpeg "logo1.jpg" // rendered with \scenes\incdemo\logo.pov // colors were adjusted // resolution 160x120 map_type 0 interpolate 0 } } #declare TWFTemp=function{pigment{PTemp} } // Cloth isosurface { function{F_cloth1(x,z,y,Freq1,Freq2,2,0.0001) } contained_by { box {<-Max_X,-Max_Z,Min_Y> }} threshold 0.0 accuracy 0.0002 max_gradient 1.4 texture { pigment{PTemp scale 1} finish{ ClothFin } rotate y*180 } rotate y*180 no_shadow scale <0.35,0.35,0.5> rotate x*90 translate y*0.5 } // Stones //pigment of T_Grnt18 #declare P_Grnt18 = pigment {granite turbulence 0.4 color_map {[0.000, 0.202 color rgbt <1.000, 0.718, 0.541, 0.000> color rgbt <0.890, 0.651, 0.612, 0.000>] [0.202, 0.298 color rgbt <0.890, 0.651, 0.612, 0.000> color rgbt <1.000, 0.820, 0.675, 0.000>] [0.298, 0.377 color rgbt <1.000, 0.820, 0.675, 0.000> color rgbt <0.890, 0.643, 0.612, 0.000>] [0.377, 0.465 color rgbt <0.890, 0.643, 0.612, 0.000> color rgbt <0.937, 0.729, 0.561, 0.000>] [0.465, 0.544 color rgbt <0.937, 0.729, 0.561, 0.000> color rgbt <0.878, 0.604, 0.565, 0.000>] [0.544, 0.640 color rgbt <0.878, 0.604, 0.565, 0.000> color rgbt <0.984, 0.780, 0.655, 0.000>] [0.640, 0.860 color rgbt <0.984, 0.780, 0.655, 0.000> color rgbt <1.000, 0.863, 0.635, 0.000>] [0.860, 0.982 color rgbt <1.000, 0.863, 0.635, 0.000> color rgbt <1.000, 0.765, 0.620, 0.000>] [0.982, 1.001 color rgbt <1.000, 0.765, 0.620, 0.000> color rgbt <1.000, 0.718, 0.541, 0.000>] } } #declare TWF18=function{pigment{P_Grnt18}} //pigment of T_Grnt44 #declare P_Grnt44= pigment { granite color_map { [0.0 rgb 0.3 ] [1.0 rgb 0.7 ] } scale 0.075 } #declare P_Grnt44a= pigment { wrinkles turbulence 0.3 scale 0.3 color_map { [0.0 rgbt< 0.50, 0.25, 0.10, 0.85>] [1.0 rgbt< 0.65, 0.40, 0.00, 0.65>] } } #declare TWF44=function{ pigment{P_Grnt44}} #declare Func1= function(x,y,z,y1,Width1,Height1){f_rounded_box(x,y,z, 0.15, Width1, Height1, Width1) +f_noise3d(x*12,(y+y1)*10,z*12)*0.03 +f_noise3d(x*30,y*20,z*30)*0.01 +f_noise3d(x*65,y*40,z*65)*0.003 } #declare Norm1= normal{ function{ f_crackle(x*120,y*100,z*120)*0.07} slope_map{[0 <0, 1>] [0.4 <1, 1>][0.65 <1,-1>] [1 <0,-1>]} } #macro Char1(char, rot) object{ Center_Object(text{ ttf "hgrsgu.ttc", // TTC or TTF unicode font char, 0.185, 0 }, x) scale 0.36 translate <0,-0.125,-0.30> #if (rot) rotate y*rot #end } #end #declare S_Width=0.3; #declare S_Height=0.3; object{ difference{ isosurface{ function{ Func1(x,y,z,0,S_Width,S_Height) +TWF18(x/1,y/2,z/2).gray*0.015 } contained_by{box{<-S_Width,-S_Height,-S_Width>, }} max_gradient 1.5 } Char1("夏 ",0) Char1("春",90) } texture{ pigment{P_Grnt18 scale <1, 2, 2>} finish{phong 0.30 phong_size 90} normal{Norm1} } scale 0.5 translate y*(S_Height-0.05)/2 scale 0.28 rotate y*-17 translate <-0.06,0.5,-0.06> } object{ difference{ isosurface{ function{Func1(x,y,z,7,S_Width,S_Height) -TWF44(x*1.5,y*1.5,z*1.5).gray*0.012 } contained_by{box{<-S_Width,-S_Height,-S_Width>, }} max_gradient 1.7 } Char1("冬",-90) Char1("秋 ",0) } texture{ pigment{P_Grnt44 scale 2/3} finish{phong 0.30 phong_size 90} } texture{ pigment{P_Grnt44a} scale 2/3 } translate <0,S_Height-0.02,0> scale 0.14 rotate y*55 translate <0.06,0.5,-0.06> }