1
$\begingroup$

When two objects -one of them transparent- intersects it creates some artifacts visible even in the alpha channel. Even with 1024 transparent bounces the artifacts remain.

enter image description here

In the example file there are two cubes in the same position, one transparent and one emission.

What is causing this? Any way to get rid of this artifacts?

$\endgroup$
  • $\begingroup$ That is considered a bad modelling practice, never have two perfectly coplanar faces, transparent or otherwise. What is the point of having overlapping objects anyway? $\endgroup$ – Duarte Farrajota Ramos Jan 11 '17 at 0:30
  • $\begingroup$ if the surfaces are in the exact same place then you are dealing with z-fighting. $\endgroup$ – user1853 Jan 11 '17 at 2:50
4
$\begingroup$

This is a limitation of many render engines. In OpenGL/DirectX applications it is typically known as z-fighting. The simple answer is to not do this - don't put two surfaces in the exact same place. This is a scenario that's impossible in real life (no two solid objects can share the same location) and therefore typically not taken into account when designing render engines.

|improve this answer|||||
$\endgroup$
  • $\begingroup$ Even though one of them is transparent? $\endgroup$ – Antonio Buch Jan 11 '17 at 8:46
  • 1
    $\begingroup$ Yes, even then. Many Ray tracers first find the closest surface to the camera, and only after that they calculate its shading. Since the Ray tracer won't tell two surfaces apart that are in the same location, only one of them will get shaded. Which one of the two it is (the opaque or the transparent) is in this case left to chance. $\endgroup$ – Stefan Werner Jan 11 '17 at 20:48
  • $\begingroup$ Think of it this way: If the transparent object wasn't fully transparent but semitransparent and tinted (let's say blue glass), what is the expected result in your case? Should you see the opaque surface through the blue glass or should the opaque surface cover the blue glass? There is no correct answer to this question in real life, as the situation is impossible in real life. A render engine built to simulate reality is not designed to handle cases that cannot exist in reality. $\endgroup$ – Stefan Werner Jan 12 '17 at 14:11
  • $\begingroup$ Yeah, I got it with the preview answer :P Thanks! $\endgroup$ – Antonio Buch Jan 12 '17 at 15:03

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.