10
$\begingroup$

This is a common problem I've found in a few jobs related with ocean. When the camera is close to the surface, looking at the horizon, those black areas appear. Either with a normal texture or not.

enter image description here enter image description here

It looks there's a problem with ocean's self reflection, but I can't avoid this by adjusting the bounces. Any ideas?

Here is the .blend file. As you can see, the environment is visible only through camera and glossy, and the problem keeps with a blank environment too. The scene is lit with a sun lamp and plain color environment.

$\endgroup$
  • $\begingroup$ I assume you are using an environment texture, so the lighting is even? $\endgroup$ – VRM Feb 16 '15 at 15:16
  • 2
    $\begingroup$ Could you post a .blend with the images packed into it? $\endgroup$ – GiantCowFilms Feb 16 '15 at 16:04
  • $\begingroup$ This is normal behavior, but I am not sure exactly why. The .blend would help a lot $\endgroup$ – VRM Feb 16 '15 at 21:22
  • $\begingroup$ I've just posted the .blend file. The images are not the same, but it wasn't HDR so the results are the same. $\endgroup$ – Antonio Buch Feb 17 '15 at 10:23
  • $\begingroup$ I checked most of the common causes (bad environment, normals, bad material setup) and none of these seem to be the problem. I am guessing it's either a bug or the limitation of what Cycles can simulate. $\endgroup$ – Mike Pan Feb 18 '15 at 5:08
6
$\begingroup$

I'm not completely sure what's causing this, I suspect it is just how Cycles works and is not strictly a bug - similar to the terminator issue.

In order to work around it, we can modify the surface normals slightly in the material:

fixed

From the manual:

Incoming

Vector pointing towards the point the shading point is being viewed from.

Thus adding a tiny bit of the Incoming vector will skew the surface normal just enough to hide the artifacts.

Note that changing the surface normal means our reflections will be incorrect - so we need to change it as little as possible, otherwise the reflections of objects and clouds will be noticeably weird.

$\endgroup$
0
$\begingroup$

Your ocean shader's glossy and refraction nodes need a bit roughness (more than 0).
enter image description here

$\endgroup$
  • $\begingroup$ While increasing roughness hides the problem slightly (but not entirely), it really has nothing to do with the cause. $\endgroup$ – Greg Zaal Feb 23 '15 at 14:54
  • $\begingroup$ did not find anything better $\endgroup$ – Bithur Feb 23 '15 at 14:56
-1
$\begingroup$

Smooth shaded Reflections- bug

I think that there is generally a problem about shading of glossy materials with "fake normals". Even if you smooth an object, this problem is there, but it isn't, if you don't adjust the normals.

$\endgroup$
  • $\begingroup$ The reason your sphere has black edges is because it has not been subdivided. $\endgroup$ – 10 Replies Dec 1 '16 at 20:45
  • $\begingroup$ @10Replies That is not a reason to have the black edges, but yes the sphere is not subdivided as far as it could be, and subdividing it further may appear to fix the problem...you reach a point when you don't want to keep subdividing because the blend gets too complex for your computer. $\endgroup$ – JakeD Dec 1 '16 at 22:24
  • 1
    $\begingroup$ @pycoder, the black edge effect is much more subtle from a distance, so if you have something with many objects, you really don't need subsurf except up close. Also, the asker said "Subdiv doesn't fix the problem at all." $\endgroup$ – 10 Replies Dec 2 '16 at 2:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.