Author Topic: Physically correct SSS light transport.  (Read 2926 times)

2018-02-21, 18:43:48

lolec

  • Active Users
  • **
  • Posts: 179
    • View Profile
I'm wondering if there is an unbiased, physically correct subsurface light transport model in Corona.  I don't mind render times. I would like to use it to simulate different material densities and how light interacts with several objects as it moves through them.

Thanks!

2018-02-22, 17:39:07
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12750
  • Marcin
    • View Profile
What kind of "correctness" do you need? Any specific requirements? :)

Corona's SSS is very realistic, and renders fast. You can learn more at https://coronarenderer.freshdesk.com/support/solutions/articles/12000039649
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2018-02-23, 17:22:48
Reply #2

lolec

  • Active Users
  • **
  • Posts: 179
    • View Profile
Thanks Maru, I started experimenting and I think I found bug!

My setup:

On the left, 3 blocks, 2mm thick. On the right 1 block 6mm thick. All blocks are touching surface to surface using align tool. The material setup is like the SSS Wax in the page you sent.

If I assign the same material by selecting all of them at the same time, I get the predictable and correct result (First image)

Immediately after this, I select only one of the small blocks and assign THE SAME material to it. look what happens....

If I repeat the process but re-assign the material to the middle block... I get an even weirder result.

I'm assigning the EXACT same material, it's not a duplicate (although this happens with a duplicate too)

I tried separating the objects slightly and the problem persists.

Any ideas?  Thanks!

2018-02-23, 17:53:03
Reply #3

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12750
  • Marcin
    • View Profile
I don't fully understand how the scene is made. Could you color each "block" with a different wire color, or send a sample scene like this, so that we could check it?
If there are some intersecting elements or coplanar faces involved here, then I bet it is going to break some stuff.
Other than that, are you using the "sss" mode, or "volumetric" mode? I think the "sss" is a bit less "physical" then the volumetric.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2018-02-23, 19:53:08
Reply #4

lolec

  • Active Users
  • **
  • Posts: 179
    • View Profile
I've uploaded the file.

I'm Using SSS as it seems to produce better results, but I'm probably doing something wrong.

I have co-planar faces, but the problem persists even if I separate the objects the tiniest amount.

To replicate the "bug" in the Interactive Render:

Select all objects and apply the same material to all. (all objects act as a single object, which is desirable)

Select a single one of the small blocks and re-assign the same material (now this object is black)

If you render this using the full engine, the bug is not there, however....

To replicate the bug using the full engine:

Select all objects and apply the same material to all and render.  (all objects act as a single object which is desirable)

Select a single one of the small blocks and assign an EXACT DUPLICATE of the original material, render (now this object is black).
/
The bug also appears if the second material has different properties, which is a shame because that's why I need this.

My Objective:

I want to pile up 4 or 5 objects with different SSS values and see how much light reaches the surface.

For example:

If all objects have the same "density" I get X amount of light in the surface. If I add an "obstacle" with more density mid way, I want to see how light dispersion is affected.

Hope there is a way to make this work :)

Thanks!






2018-02-27, 01:32:27
Reply #5

lolec

  • Active Users
  • **
  • Posts: 179
    • View Profile
Maru, I know this is probably super low priority below making much cooler and important things.....  :P but did you have a chance to check this?


2018-02-27, 12:24:41
Reply #6

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12750
  • Marcin
    • View Profile
It's still on my todo! Sorry for the delay!
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2018-03-02, 14:06:19
Reply #7

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12750
  • Marcin
    • View Profile
It seems that for me it is producing exactly the same result regardless if I use a single block, or a stacked number of layers.

I have two questions:
-Do you have UHD Cache enabled, or rendering using path tracing only?

-How is your SSS material made? Can you post a screenshot, or the scene itself? Does it have some kind of surface enabled? (e.g. translucency or refraction used?) If it has a surface, then you are comparing two different things: in case of a single block - light entering through a surface, scattering in the volume, and then exiting through a surface; in case of multiple blocks - light entering through a surface, scattering in the volume, entering through another surface, scattering in another volume, surface again, and volume again, a few times, depending on the number of blocks you have in your scene.

I also did not manage to get any "artifacts" or anything like that when using IR and regular render, and when applying one material, or copies of it.

Update: adding my scene - can you reproduce the issues in it?
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us