Home
- POV-Ray Tutorial
- Realistic Water
- opaque reflecting
- Heavy Seas
- partly transparent
- Whirlpool
- Water in a Glass
> Isosurface Water
- Isosurface Sea
- Download
|
Realistic Water with POV-Ray
part
1 | 2 | 3 |
4 | 5 | 6 |
7
Water for a Pool by Isosurface
First we have to declare a pool shape without water
and were we want to place this pool.
(We use here variables for the sizes and transformation by 'transform',
because we need these things also for the water in the pool.
For the definitions of Pool texture and water material see the scene file.)
//---------------------- Pool dimensions
#declare Pool_X = 5.00;
#declare Pool_Y = 2.00;
#declare Pool_Z = 8.00;
#declare Border = 0.50;
//------------------ Pool transformation
#declare Pool_Trans =
transform{ rotate<0,0,0>
translate<-2.5,0.10,-6>
} // end of transforme
//--------------------------------------- |
Then we make a hole
were we want to place the pool:
//---------------------------------------
#declare Pool_Inner =
box{<0,-Pool_Y,0>,<Pool_X,Pool_Y,Pool_Z>
} //----------------------------------
#declare Pool_Outer =
box{<-Border, -Pool_Y-0.01, -Border> ,
<Pool_X+Border,0.001,Pool_Z+Border>
} //--------------------------------
//---------------------------------------
#declare Pool =
difference{
object{ Pool_Outer texture{Pool_Tex}}
object{ Pool_Inner texture{Pool_Tex}}
} // end of Difference
//---------------------------------------
// grass ground
difference{
plane{ <0,1,0>, 0
texture{
pigment{color rgb<.35,.65,0>*.7}
normal { bumps 0.75 scale 0.015}
finish { phong 0.1 }
} // end of texture
}// end plane
object{ Pool_Outer
texture{ Pool_Tex }
transform Pool_Trans
} // end of hole for the pool
} // end of ground
//---------------------------------------
// placing of the pool:
object{ Pool transform Pool_Trans }
//--------------------------------------- |
|
A hole for the pool
Pool without water
|
Now we declare 3d function by a pigment pattern
for the modulation of an isosurface:
// pigment pattern for modulation
#declare Pigment_01 =
pigment{ bumps
turbulence 0.20
scale <3,1,3>*0.12
translate<1,0,0>
} // end pigment
//---------------------------------------
#declare Pigment_Function_01 =
function {
pigment { Pigment_01 }
} // end of pigment function
//---------------------------------------
isosurface {
function{
y
+Pigment_Function_01(x,y,z).gray*0.2
} // end of function
contained_by{
box{<-Border,-Pool_Y-1.01,-Border>,
< Pool_X+Border,1, Pool_Z+Border>
} //
} // end contained_by
accuracy 0.01
max_gradient 2
material{ Water_Material }
// dont scale this isosurface!
// scale the Pigment_01 if necessary!
transform Pool_Transformation
} // end of isosurface ------------------
//--------------------------------------- |
For more details see the following
description of this scene for POV-Ray
IsoWaterPool_01.pov
|
An isosurface for the pool water
Pool water by isosurface
part
1 | 2 | 3 |
4 | 5 | 6 |
7
|
|