Eliminating reflection flicker

Started by JasonA, October 15, 2012, 09:35:56 AM

Previous topic - Next topic

penboack

#15
Thank you for the feedback.
I have done some additional tests to test the effect of the Reflective shader > Reflection softness.
For completeness to allow an easy comparison between all the different renders I have reproduced the test renders from my earlier post


In this image the Water shader is producing the reflections using its default settings, AA set to 6, Detail set to 0.8.
White artefacts on the water surface.
[attachimg=1]

In this image the Water shader reflections are set to 0, Reflective shader is producing the reflections, AA set to 6, Detail set to 0.8.
Reflective Shader, 4 samples (default number of samples)
White artefacts on the water surface greatly reduced.
[attachimg=2]

In this image the Water shader reflections are set to 0, Reflective shader is producing the reflections, AA set to 6, Detail set to 0.8.
Reflective Shader, 16 samples
White artefacts on the water surface greatly reduced.
Very slight improvement over the previous image.
[attachimg=3]

In this image the Water shader reflections are set to 0, Reflective shader is producing the reflections, Reflection softness set to 0.01, 4 samples.
Render Settings: AA set to 6, Detail set to 0.8.
Reflections are much less noisy.
[attachimg=4]

In this image the Water shader reflections are set to 0, Reflective shader is producing the reflections, Reflection softness set to 0.005, 4 samples.
Render Settings: AA set to 6, Detail set to 0.8.
[attachimg=5]

In this image the Water shader reflections are set to 0, Reflective shader is producing the reflections, Reflection softness set to 0.001, 4 samples.
Render Settings: AA set to 6, Detail set to 0.8.
[attachimg=6]


I am very pleased with these results, using the Reflective shader with Reflection softness set to a value of 0.01 gives a good result. I could obviously improve the quality further by increasing the reflective shader sampling, and or the render Detail setting to 1, at the cost of a much longer render time.

Tangled-Universe

Jeez Oshyan :-/

Not for incentive for me to respond or help people if I get responses like these from Planetside, isn't it?

Oshyan

Quote from: Tangled-Universe on October 18, 2012, 07:51:37 AM
Jeez Oshyan :-/

Not for incentive for me to respond or help people if I get responses like these from Planetside, isn't it?

I'm not sure what you're referring to. I didn't mean to be condescending or anything, if that's how it sounded. I'm at a loss to understand what upset you about my response, but it certainly wasn't intended.

- Oshyan

Matt

Hi Martin,

There were 2 slightly different suggestions which I was replying to (GI sampling and reflections), but there was overlap between my two replies which I realised as I was writing the second reply. I should have to combined the replies into one. Sorry about that.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Tangled-Universe

Thanks guys.

Oshyan, I was not upset, rather annoyed. Clearly we were on the same line and as soon as Matt pointed out our mutual thoughts weren't correct you all of a sudden "hide" behind political correctness which I have been proven to be quite sensitive to ;)
("Well, I said it made sense to me, I didn't say it was correct", which is just being politically correct by using the literal sense of the words. Every reader would understand we were on the same line, otherwise you would have responded in rejection)

Matt, it's ok. I see what you mean.
I'd like to emphasize I don't mind to be corrected. On the contrary, this information is new to me now as well and happily absorbed in my TG-brain.
Lately I was accused of being a defeatist somewhere here, because I didn't show enough confidence in someone else's ideas.
However, I did have suggestions myself and shared my ideas for improvement which, despite one agrees with it or not, is constructive and contributes to the discussion.
Here (is the analogy), I felt you were more interested in replying to me specifically rather than solving the issue Penboack is having.

When I feel confronted with these things I really feel like not responding at all anymore and that's why I said I felt it's not very incentive anymore to try helping others here.

Tangled-Universe

#20
Quote from: penboack on October 18, 2012, 07:34:54 AM
Thank you for the feedback.
I have done some additional tests to test the effect of the Reflective shader > Reflection softness.
For completeness to allow an easy comparison between all the different renders I have reproduced the test renders from my earlier post

...

I am very pleased with these results, using the Reflective shader with Reflection softness set to a value of 0.01 gives a good result. I could obviously improve the quality further by increasing the reflective shader sampling, and or the render Detail setting to 1, at the cost of a much longer render time.

These are great results :) Makes me wonder how different the water shader's reflective shading is from the reflective shader itself. Generally speaking it was thought that they were the same and that the reflective shader would allow you to disable raytraced reflections.
Seeing this it seems that the water shader's reflectivity tab could use some of the functionality of the reflective shader?

I suppose this does not affect transparency?
I'm honestly a bit surprised to see those white artefacts in the first place.
I have seen them before, but not as much as this and I use very similar settings often. Curious.

penboack

Quote from: Tangled-Universe on October 19, 2012, 05:57:08 AM
Seeing this it seems that the water shader's reflectivity tab could use some of the functionality of the reflective shader?

Yes, I would like to see the water shader's reflectivity tab have the same functionality as the reflective shader in a future release.
It would also be clearer to have the Reflectivity shader > Quality > Number of samples parameter on the reflective shader's main tab and loose the quality tab.
But as I want render passes more than anything else it might be better not to suggest such minor distractions!


I haven't looked at the impact on transparency.
In my original render I reduced, but didn't eliminate, the white specs by reducing reflections > highlight intensity to 0. I assume this parameter is controlling the reflection of lights, in this case the sun. I try and avoid using the term specularity, as in CG specularity is used to mean the reflection of highlights from lights, whereas in physics specularity means smoothness; a very smooth object is highly specular whether or not it is reflecting something. In my opinion eflect lights and reflect objects is much clearer.

Last weekend I was walking along the edge of a large pool and stopped to look carefully at the reflections. You get a certain amount of shimmer even with the sun behind you. I guess this could be a result of concave surfaces on the surface of the water concentrating light from the sky, it seems unlikely to be reflected sunlight given the angles involved, oh and I think it was quite cloudy! I also noted that in some situations the ripples can form something like you'd expect from a Voronoi noise shader. If you think about what a real lake or pool surface looks like to the eye the reflections are quite smooth, if you photograph it the reflections will depend on the exposure, becoming more blurred out with longer exposures.

Still thinking about Matt's third solution:
"3) use an imported object for your water. Then it will be ray traced, therefore shaded multiple times per pixel, according to the Pixel Sampler settings. This would be my preferred solution with v2.4 (we'll have better solutions available in future versions)."

Matt

Quote from: Tangled-Universe on October 19, 2012, 04:40:38 AM
Matt, it's ok. I see what you mean.
I'd like to emphasize I don't mind to be corrected. On the contrary, this information is new to me now as well and happily absorbed in my TG-brain.
Lately I was accused of being a defeatist somewhere here, because I didn't show enough confidence in someone else's ideas.
However, I did have suggestions myself and shared my ideas for improvement which, despite one agrees with it or not, is constructive and contributes to the discussion.

Yes, it contributes to the discussion. It gives me an opportunity to correct a misconception that you and Oshyan had, which others may have had too (as you said).

Quote
Here (is the analogy), I felt you were more interested in replying to me specifically rather than solving the issue Penboack is having.
...
When I feel confronted with these things I really feel like not responding at all anymore and that's why I said I felt it's not very incentive anymore to try helping others here.

I wasn't able to post directly at first, so Oshyan posted for me.

I'll try to be more sensitive to that possibility in the future. It is my nature to focus on things that are incorrect, and happily let things continue when they are all fine and good. If it seems like I do this often with your replies, maybe it's because you post more technical information that most people. That's great. Most of the time it's good information. But if I jump in to correct something, just think of me like your proof-reader, or editor ;)

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Oshyan

Lots of great info here. :)

For my part I just want to say that the reason I got "politically correct" in my response is that I feel there's a real danger of people thinking that anything I say is absolutely correct just because I work at Planetside (not you Martin, you know better ;) ). Which is why in my original post I tried to make it clear that it was just my opinion and was what made sense to me, not what I *knew* to be true. My response to you was simply to reinforce that. I hope that clears it up.

- Oshyan