![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi all, I was looking at the bathtub-in-desert scene that Trevor posted the
other day and then I read the water code Thomas had posted and had to try it.
Before I knew it I'd gone off on a tangent and ended up with these two dolphins
swimming around in my own version of the water normal:
#declare Bigripple =
normal {
waves 1
frequency 6
turbulence 0.8
scale <0.5, 0.2, 0.2>*0.5
translate -100*z
rotate -30*y
}
#declare Smallripple =
normal {
ripples 1
frequency 3
turbulence 0.5
scale <0.35, 0.25, 0.25>*0.2
translate 100*z
rotate -10*z
}
#declare RippleNorm =
normal {
average
normal_map {
[0.9 Bigripple]
[0.8 Smallripple]
}
}
#declare N_Ripples =
normal {
average
normal_map {
[1 RippleNorm scale 1]
[1 RippleNorm scale 0.33]
[1 RippleNorm scale 0.10]
[0.5 RippleNorm scale 0.05]
[0.25 granite 0.1 scale 0.01 ]
[0.125 granite 0.05 scale 0.001 ]
}
}
I also ended up averaging two HDR images for the environment map to get the
coloration and mood I was after. I'd never tried that technique before (or even
heard of it actually) but I found it to be very expressive, allowing me to
easily mix & change tonal qualities.
[Dolphin model from Poser 6, textures tweaked by me]
Cheers,
-Rob
Post a reply to this message
Attachments:
Download 'rwmdolphins.jpg' (627 KB)
Preview of image 'rwmdolphins.jpg'
![rwmdolphins.jpg](/povray.binaries.images/attachment/%3Cweb.4951bf16a9fdfb46bd1b3ad10%40news.povray.org%3E/rwmdolphins.jpg?ttop=443866&toff=2950&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Looks great!
For a suggestion, try setting the waves/ripples as functions and combining them
that way like I have done. I find that much more flexible and effective. I
think it may also end up being quicker than using average. Based on previous
experience (reflection blur to be exact) I think it had come out that when
using average (for normals) each element has to get sampled at each poitn, so
several entries in an averaged normal map caan start to slow the renders down.
This is of advantage for reflection blur, however I don't think it is in this
case. Either way, I find it more flexible. Then you can take it and turn the
water into a heightfield rather than normals as well.
I would also suggests adding ripples propogating from the dolphin surfacing.
You could probably get away with a circular or elliptical ripple, use the
cylidrical map. You need to add two levels to this ripple map. One that
defines the dissipation of the ripples so that they decrease from maximum at
the dolphin to zero some distance from the dolphin (use poly_wave to control
the falloff of the ripples if you don't want it linear). The inner level
creates the actual ripples. Use the cylindrical pattern again but with
sine_wave and a frequency that matches the ripple spacing you want. You can
even add light turbulence to it so it isn't perfectly regular.
Example:
#declare Ripple= //ripple normal map
normal {
cylindrical
normal_map{
[0.0 rgb 1]
[1.0 cylindrical frequency FREQ sine_wave] //set frequency to how close
you want the ripples
}
scale 50 //scale to the size you want
translate<-9.6288,-21.3782,0> //translate to the location you want
poly_wave 6 //controls the falloff rate, higher means faster
}
-tgq
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hey Robert, That is looking great indeed.
Thomas
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Trevor G Quayle" <Tin### [at] hotmail com> schreef in bericht
news:web.4951d5ac1d0cd8fbc67b294d0@news.povray.org...
> Looks great!
>
> For a suggestion, try setting the waves/ripples as functions and combining
> them
> that way like I have done. I find that much more flexible and effective.
> I
> think it may also end up being quicker than using average. Based on
> previous
> experience (reflection blur to be exact) I think it had come out that when
> using average (for normals) each element has to get sampled at each poitn,
> so
> several entries in an averaged normal map caan start to slow the renders
> down.
> This is of advantage for reflection blur, however I don't think it is in
> this
> case. Either way, I find it more flexible. Then you can take it and turn
> the
> water into a heightfield rather than normals as well.
Good suggestion.
Imho, I find average quite flexible too... :-)
> I would also suggests adding ripples propogating from the dolphin
> surfacing.
> You could probably get away with a circular or elliptical ripple, use the
> cylidrical map. You need to add two levels to this ripple map. One that
> defines the dissipation of the ripples so that they decrease from maximum
> at
> the dolphin to zero some distance from the dolphin (use poly_wave to
> control
> the falloff of the ripples if you don't want it linear). The inner level
> creates the actual ripples. Use the cylindrical pattern again but with
> sine_wave and a frequency that matches the ripple spacing you want. You
> can
> even add light turbulence to it so it isn't perfectly regular.
>
> Example:
> #declare Ripple= //ripple normal map
> normal {
> cylindrical
> normal_map{
> [0.0 rgb 1]
> [1.0 cylindrical frequency FREQ sine_wave] //set frequency to how
> close
> you want the ripples
> }
> scale 50 //scale to the size you want
> translate<-9.6288,-21.3782,0> //translate to the location you want
> poly_wave 6 //controls the falloff rate, higher means faster
> }
>
Nice one, this. I had something like that in mind, but it was more crude. I
shall have to try this. Thanks for the suggestion.
Thomas
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Robert McGregor" <rob### [at] mcgregorfineart com> wrote:
> Hi all, I was looking at the bathtub-in-desert scene that Trevor posted the
> other day and then I read the water code Thomas had posted and had to try it.
> Before I knew it I'd gone off on a tangent and ended up with these two dolphins
> swimming around in my own version of the water normal:
Beautiful! "A rising tide lifts all boats" :)
The water refraction also gives the submerged dolphin a nice painting look...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wonderful. Looks *so* real.
Some great code contributions and ideas here, all around. Many thanks.
Ken W.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Free dolphin for the texture geniuses.
http://www.3dnuts.com/models.shtml
Takes 2 minutes to access with poseRay.
4 models in the 3ds file, 2 are dolphins.
Dolphin7 is the first one @ 500kb.
Post a reply to this message
Attachments:
Download 'lego_pool_04e.png' (683 KB)
Preview of image 'lego_pool_04e.png'
![lego_pool_04e.png](/povray.binaries.images/attachment/%3Cweb.495511511d0cd8fb1301794d0%40news.povray.org%3E/lego_pool_04e.png?ttop=443866&toff=2950&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Robert McGregor" <rob### [at] mcgregorfineart com> wrote:
> Hi all, I was looking at the bathtub-in-desert scene that Trevor posted the
> other day and then I read the water code Thomas had posted and had to try it.
> Before I knew it I'd gone off on a tangent and ended up with these two dolphins
> swimming around in my own version of the water normal:
>
> #declare Bigripple =
> normal {
> waves 1
> frequency 6
> turbulence 0.8
> scale <0.5, 0.2, 0.2>*0.5
> translate -100*z
> rotate -30*y
> }
> #declare Smallripple =
> normal {
> ripples 1
> frequency 3
> turbulence 0.5
> scale <0.35, 0.25, 0.25>*0.2
> translate 100*z
> rotate -10*z
> }
>
> #declare RippleNorm =
> normal {
> average
> normal_map {
> [0.9 Bigripple]
> [0.8 Smallripple]
> }
> }
>
> #declare N_Ripples =
> normal {
> average
> normal_map {
> [1 RippleNorm scale 1]
> [1 RippleNorm scale 0.33]
> [1 RippleNorm scale 0.10]
> [0.5 RippleNorm scale 0.05]
> [0.25 granite 0.1 scale 0.01 ]
> [0.125 granite 0.05 scale 0.001 ]
> }
> }
>
> I also ended up averaging two HDR images for the environment map to get the
> coloration and mood I was after. I'd never tried that technique before (or even
> heard of it actually) but I found it to be very expressive, allowing me to
> easily mix & change tonal qualities.
>
> [Dolphin model from Poser 6, textures tweaked by me]
>
> Cheers,
> -Rob
It would be a good image for Greenpeace!
Poetic!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |