2.92 Cycle Rendering setup needed for water wave reflection

HI need advise please.

I am trying to do “water wave/ripple” reflection using cycle rendering.
I succeeded to get a reflection that I wanted … and able to see it on “viewport” in cycle.
But when I render it … appears some images reflected on viewport doesn’t come out after rendering.

I suspect need special setup in cycle to capture this …
Does anyone have good knowledge how to setup rendering with cycle for such “water ripple” reflection capture ?

I am using v2.9.2 and my cycle engine setup basically
render = 128
viewport = 16
screen space reflection = enabled
Lighting … Diffuse.direct and indirect = enabled
everything else pretty much standard setup after downloaded v2.9.2.
Hmm my first time using cycle … most of my time just Eevee as I don’t have a graphic card until last week upgrade to my computer.

On view port what I can see which I wanted

And here’s what got render out … with missing trees reflection.

Pure path-tracers (like Cycles in Blender) do not produce realistic caustics. It’s a mess of pixels. Well if you don’t want to cheat I can recommend you LuxCoreRender (luxcorerender.org). Free! Easy to use and VERY advanced (bi-directional path-tracer + metropolis algorithm are perfect for caustics). Download links in the “Community → Forums → News”. Just try “LuxCoreRender v2.5rc1” as I did and you’re good to go. GL

1 Like

It looks like you have the image of the palm trees disabled in render. If it is an image plane check your settings in the outliner (the camera icon).
If it is an hdri make sure you have set it up in your world shader.

Ah yes … my mistake. The trees were hidden :frowning:
As for using luxcore … maybe later as I just started to learn using cycle engine.

Cheers.

Wooh … appears cycle is really not capturing well at all on the “ripple” effect with reflection.
I could see the water ripple and distorted reflected objects (ladies) on viewport. But just doesn’t render out in cycle. Why?

Showing a video of what my problem is … hoping someone can advise.
Besides going with “Luxcore” as advise by “baldperv” which is entirely new to me.

Viewport vs what Cycle rendered results

What’s showing on viewport with EeVee

In the viewport render the camera angle is much lower and it shows more of the water (and the ripples) at a more acute angle to do a real comparison you should use the same camera angle for both. In the real world if you look down on water you will see much less distortion than if you look from a low angle.

There will always be a difference in reflective values between Eevee and Cycles as the two engines calculate reflections in a totally different way, the same goes for transparency and other factors, you sometimes have to compensate them in your shader settings. For example in the Eevee render you can see the rain drops very clearly but not in the cycles one. I think that maybe tweaking roughness or transparency would compensate a bit.

The lighting is also very different in the different engines, to compare properly it should also be compensated.

I would recommend if you want to render in cycles that you preview your materials in cycles when you make your node setup (and vis versa), because the result will be different.

Cycles is much better at calculating physically correct reflections than Eevee. Luxcore is very good for caustics but I do not think that caustics are the problem in this case.

hi … thanks for the advise
Indeed after adjusting the camera angle for the render, and added higher lighting. I could get a reasonably well rendered results. As for reflective value, I think you mean “roughness” on BSDF node - I already put it to zero. As for transparency … I was clear what you need to adjust other than 2 elements I suspect you meant … add a “BSDF transparent” with mix shader and set to “Blend Clip” for the material. Here’s my node setup … any suggestion how else I can adjust transparency ?


One other thing need advise, actually I wanted to simulate a “photo” with ripple effect. But as you said we need to adjust angle of the camera … it gives a problem. How do you capture the “whole” picture with water ripple reflection/distortion. See my example below … I can only capture half the screen and always the original photo that should be hidden must be captured in the render effect. How to hide the top part and actually capture only the picture reflection with water ripple whole?? Is this possible ?

When I mentioned reflective value (yes I mean “roughness” and “specular” values) and transparency I was referring to the differences I find between cycles and Eevee in general. If you do not need transparency don’t worry it would only add to render times and could increase noise. If you prefer clean reflections leave the roughness at 0.

If you do want some transparency in the water you can use a “mix shader” node instead of the “add shader” and blend it in with the factor. You can also use the “alpha” factor of the Principled node.

I think your water shader is looking nice for this image. I have not made many water shaders and can not give you much advise on them. If you google blender water node setup you will find some info.

Yes you can use the image for reflections only, give the image a node setup like this (this only works in cycles):

You use the reflection ray output of the light path node to mix the image with a transparent node, Note: it is important the order in which you plug in the image and the transparent node. I have left the image selected so that you can see where it is.

Thanks Dnorman,

I am getting close to it with your help.
The photo frame (rectangle) … however still comes out with different color, even though it is “Transparent background”. Any suggestion what I should do to adjust further?

I notice if I use HDRI reflection, it comes out perfect … but that would mean I have to somehow convert my picture as a HDRI format, which I tried but it just doesn’t come out nice at all.

I am not sure I understand. Do you mean that your photo has a transparent background? It looks like a purple colour.

If it has a transparent background, you will have to add another mix shader to mix transparent with your image using the alpha channel as factor.

Like this:

Thank you so much Dnorman.

Finally got to achieve what I needed. Really something I won’t figure out myself without help …
So the next thing … well in future if I can get the whole picture fill in … without the “Nishi sky” effect :slight_smile: Here’s what I got

1 Like

Hi DNorman,

Hope you ok I made a video of my learning process to achieve this with your great help …
Didn’t see any tutorial on object / image plane water reflection with ripple effects.