|
|
I ran the file (without rad or photons) and noted a couple more items:
The light_source:
light_source{<0,2,2> color rgb <1, 1, 1>}
is located inside the water and causes problems with the light_fading. Raise it
up out above the water level. Then increase your fade_distance in the water. I
got the following to work nicely (other than the water may be too blue, needs
more greeniness):
#declare t_water = texture {
pigment{rgbt 1}
normal {
ripples 0.25 // 0.75
frequency 0.1
translate <-10,0,10>
}
finish {
diffuse 0.0
ambient 0.0
reflection {0, 1 fresnel}
conserve_energy
}
}
#declare i_water =interior {
ior 1.33
fade_distance 3
fade_power 1000
fade_color rgb <0.217,0.552,0.877>
}
#declare m_acqua =material {
texture {t_water}
interior {i_water}
}
You are also using an isosurface for your water. While this works and gives a
nice smooth ripply surface, isosurfaces are real time killers. The water
surface can be acheived just as well with a heightfield which will speed it up
considerably. I tweaked and the following is somewhat equivalent to your
isosurface:
Note that isosurfaces take their function from the X-Y plane, but are created on
the X-Z plane hence the swapping of Z and Y in the function
Also note that heightfields are created 1x1x1 so the function got scaled down by
adding the *35 and then the heightfield gets scaled up after.
The 600,600 is the resolution of the heightfield and can be increased/decreased
to change quality and speed:
#local FWATER = function{1-(1-sin(x*35*2*pi))*0.01-f_noise3d(x*35,y*35,0)*0.1}
#declare water=
intersection{
height_field{function 600,600 {pattern{function{FWATER(x,y,z)}}} smooth}
box{0 1}
hollow
scale <35,4,35>
translate <-10,-3,-10>
}
I may have a few more suggestions to come yet.
-tgq
Post a reply to this message
|
|