//--------------------------------------------------------------------------------------------------- #declare Pigment_1 = pigment { crackle color_map{ [0.00, rgb <1,0.60,0.60> ] [0.15, rgb <1,1,1>*0.8 ] [1.00, rgb <1,1,1>*0.78 ] } scale 0.5 } // end pigment #declare Crack= function { pigment { Pigment_1 } // end pigment } #declare R= function(u,v) { -Crack(u,v,0).gray } #declare F1= function(u,v){R(u,v)*cos(u)} #declare F2= function(u,v){R(u,v)*sin(u)} #declare F3= function(u,v){v} //--------------------------------------------------------------------------------------------------- #include "meshmaker.inc" //--------------------------------------------------------------------------------------------------- object{ //------------------------------------------------------------------------------------------- Parametric( //(Fx,Fy, Fz, , , Iter_U, Iter_V, FileName) // Builds a parametric surface out of three given functions. // The uv_coordinates for texturing the surface come from the square <0,0> - <1,1>. F1, F2, F3, //three functions from which the object will be generated. // Following 2 vectors are the range within which the surface is calculated: < 0, -1>, // 2-D vector that gives the lower boundaries of the uv-rectangle, . <2*pi, 1>, // 2-D vector that gives the upper boundaries of the uv-rectangle. 250, // 250, // "" // FileName: ""= non, "NAME.obj'= Wavefront objectfile, "NAME.pcm" compressed mesh file // "NAME.arr" = include file with arrays to build a mesh2 from, // others: includefile with a mesh2 object ) //---------------------------------------------------------------------------------------------- texture{ // outside texture uv_mapping pigment{ color rgb<1,1,1> } //pigment {checker color rgb <0.0,0.2,0.5> rgb <1,1,1> scale <0.02,0.05,1>} finish{specular 0.5} } // interior_texture{ // inside texture uv_mapping pigment{color rgb<0.8,0.7,1> } //pigment {checker color rgb <0.0,0,0.0> rgb <1,0.7,0.7> scale <0.02,0.05,1>} finish{specular 0.5} } // rotate <90,0,0> scale<2,1,2> translate< 0,1,0> } // end of object //--------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------