I am trying to implement rough dielectrics on my renderer. I compared the results of my renderer and Mitsuba renderer. However, a thin glass plate which is a cube scaled by (0.4, 0.4, 0.01) magnifies the object in front of it in Mitsuba while it does not magnify in my renderer. Do I miss something or does Mitsuba renderer do something wrong?

edit: IOR of glass is 1.1 and outside is air.

Result of my renderer: Result of my renderer

Result of mitsuba: Result of mitsuba

  • 3
    $\begingroup$ A thin glass plate should not magnify like this (if it did, you would see this every time you look through a window in real life!). Could you share how the glass plate is set up in your Mitsuba scene file? Perhaps there's something off about it. $\endgroup$ – Nathan Reed May 1 '18 at 21:24
  • 1
    $\begingroup$ Here it is $\endgroup$ – Mustafa Işık May 1 '18 at 21:33
  • 1
    $\begingroup$ Just a side note: IoR of 1.1 is a heavily unrealistic value for glass, which is typically in interval 1.5-1.6 causing much stronger refraction effect. $\endgroup$ – ivokabel May 2 '18 at 8:28

The box.obj file has no vertex normals, and by default Mitsuba will generate smooth normals for OBJ files that don't specify their own normals. This creates the magnification effect: the box with smooth normals forms a convex lens!

By adding this line to the box object in the scene file:

<boolean name="faceNormals" value="true"/>

I got results that look equivalent to yours:

Mitsuba render with face normals


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.