4
$\begingroup$

I'm confused about IOR in Blender Internal as used in raytraced transparency. To demonstrate my issue, I set up a camera looking through a transparent sheet with IOR>1 (and slightly tinted) at a textured surface. You can clearly see the expected refraction.

But when I flip normals, I get exactly the same render! My question is therefore: How does Blender Internal determine the "in/out"-side if it does not use the normals for that?

Placing the camera inside a properly closed transparent volume with IOR does not change anything.

Clearly, I can invert the IOR to treat camera rays, but I came across this issue when reflections going out and then back into the glass material misbehaved.

Scene Setup Refraction visible

$\endgroup$
  • 1
    $\begingroup$ It doesn't use normals to determine where the ray is. It just swaps a traversal flag on ray pass. $\endgroup$ – user2859 May 8 '14 at 8:48
  • $\begingroup$ I think this is the answer, result looks fine to me now, thank you! $\endgroup$ – user15943 May 13 '14 at 6:18
  • $\begingroup$ @user2859 Feel free to add that as a proper answer $\endgroup$ – gandalf3 Jul 23 '14 at 6:22
1
$\begingroup$

From user2859's comment:

It doesn't use normals to determine where the ray is. It just swaps a traversal flag on ray pass.

$\endgroup$

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.