POV-Ray : Newsgroups : povray.binaries.images : water : Re: water Server Time
5 Nov 2024 04:24:11 EST (-0500)
  Re: water  
From: Trevor G Quayle
Date: 14 Nov 2007 11:55:00
Message: <web.473b27991408cf6cc150d4c10@news.povray.org>
"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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.