#declare Water_Texture =
texture{ Polished_Chrome }
// Pigment for isosurface modulation
// and pigment pattern for normal:
#declare Pigment_01 =
pigment { bumps
turbulence 0.2
scale<3,1,1>
} // end pigment
//-----------------------------------------
#declare Pigment_Function_01 =
function {
pigment { Pigment_01 }
} // end of function
//-----------------------------------------
// sizes x/z of isosurface container box:
#local Scale_x = 10;
#local Scale_z = 7;
#local Iso_Start=<-Scale_x,-1.0,-Scale_z>;
#local Iso_End =< Scale_x, 0.5, Scale_z>;
//-----------------------------------------
isosurface {
function{
y
-Pigment_Function_01(x,y,z).gray* 0.95
} //
contained_by { box {Iso_Start,Iso_End} }
accuracy 0.01
max_gradient 2
texture{ Water_Texture
normal{
pigment_pattern{Pigment_01}
}
}
// dont scale this isosurface!
// scale the Pigment_01 if necessary!
translate >0, -0.3, 0> // adapt here!
} // end of isosurface --------------------
//-----------------------------------------
// far away with 'pigment pattern':
difference{
plane{<0,1,0>, 0 }
box { Iso_Start,Iso_End }
texture{
Water_Texture
normal{
pigment_pattern{ Pigment_01 }, 5}
}
}// end difference
//----------------------------------------- |