|
|
"Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
> "Woland" <ziz### [at] wppl> wrote:
> > hello.
> > I'm trying to make real looking water. This is first attempt. Any sugestions?
>
> Looking good so far. As has been suggested, a sky would look nicer. Often with
> materials such as water, what they reflect is just as important in their look as
> other attributes. A little environment can go a long way, you can even just try
> a simple environment map (or use an HDR one if using the beta or megaPOV)
>
> A few suggestions from my experiences:
>
> Isosurface or heightfield? There are advantages to both. Isosurfaces have much
> better resolution, whereas heightfields are quicker (isosurfaces can add a lot
> to render time, heightfields add mostly to parse time). But, using a high
> enough resolution on a heightfield can make the differences almost
> indistinguishable. Have a look at both perhaps.
>
> Fresnel reflection > variable reflection > non-variable reflection (fresnel is
> variable, just different model)
>
> I like to make the surface clear (rgbt 1) and let the interior do the work.
> Make use of fade_distance, fade_power (use 1000 for exponential, read the docs
> on attentuation) and fade_colour. Even better is to make use of media instead,
> scattering and absorption.
>
> Hope this helps.
>
> -tgq
Another little trick to try is adding premapped caustics. Have a look at the
ones found here:
http://www.dgp.toronto.edu/~stam/reality/Research/PeriodicCaustics/index.html
I like #8 best (there are several files in each zip that are periodic for
animating, all the maps all tileable too.
You apply it by mapping it to a plane (make sure it is hollow for media effects)
or flat box just above or below the water surface with no_reflection and
no_image and using it as a filter map and it produces filtered shadows that
look like proper caustics. I find the best way is to convert it to a function
pattern, then you have better control of the filtering properties:
//START
#declare PIMAGE = function {pigment{image_map {sys "Caus.bmp" interpolate 2}
rotate x*90}}
#declare CausMap= pigment{function{PIMAGE(x,y,z).gray} colour_map{[0 rgbt 0][1
rgbt 2]}}
plane{y,0 hollow pigment{CausMap scale 300} hollow no_image no_reflection}
//END
Notes:
Make sure you reorient the map to the same plane as the water (i.e. image map on
x-y plane, rotate it to x-z plane!)
Black areas have 0 transparency - opaque
White areas get 2 transparency - actually increases the colour intensity
This should be approximately how real caustics are with brighter and darker
areas, but the average brightness still approximately 1.
-tgq
Post a reply to this message
|
|