Subsurface Scattering on Instances

   6208   9   3
User Avatar
Member
271 posts
Joined: March 2012
Offline
Edit: Title changed to reflect progress.

Hi all,
I'm trying to get to grips with rendering in Mantra and, as I do a lot of biological work, SSS is often needed. I'm coming from Lightwave where I use a shader called ChanLum [happyship.com].

I used instancing to place large numbers of fibre-like objects on the surface of cells (spheres), as you can see here from the attached image.

However, using Mantra and the subsurface scattering nodes I really just cannot seem to get the same effect. Putting SSS on the same setup results in the other attached image. I just cannot seem to get the same look.

Does anyone have any advice on how to get the same look?

Edited by Anti-Distinctlyminty - June 3, 2016 13:29:00

Attachments:
SSS.jpg (835.7 KB)
ChanLum.gif (158.2 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
There was some sort of problem with my node setup that meant the villi did not render with any material at all (there were differing attributes on the villi and the cells).

Now I have gotten past that issue I've run straight into another…

The SSS material seems to act differently depending on how it's implemented. The attached image shows the exact same material used in 3 ways:
  1. Having the cell and duplicating the villi using a copy SOP in the same geo node. This produces the nicest result.
  2. Having the cells in one node and the duplicated villi via copy SOP in different geo nodes.
  3. One geo node for the cells and another for instancing the villi.

So, the question is: Why does the shading look different in these situations?

Attachments:
SSS_Inst.gif (389.1 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
…and the hip file if it helps at all.

Attachments:
Blastocyst.hip (779.1 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
Can anyone at least tell me if materials are supposed to render the same when they are instances, or are there some caveats or certain things I need to do to get this to work? Currently this means I cannot use Mantra to render at all, as SSS and instances are used so frequently.
User Avatar
Member
702 posts
Joined:
Offline
I havent figured out the entire problem , but in part it is that when the entire object is rendered together they are seen as one object for the raytrace sss. when the villi are rendered in separate objects mantra is not including the sphere when tracing the depth for the sss calc

there is the Full Raytrace option that should see all objects that have that shader as a single object, but I could not get it to respect the instances or the separate object

ideally there would be an option on the sss tab that contains a list of all the objects to be seen as one object….

this may be one for the developers at SESI to look at closer
User Avatar
Member
702 posts
Joined:
Offline
you can also use the stamp option on the copy sop and pack them…this will cause mantra to see them as a sort of instanced geometry

this would allow you to gain the benefit of the instance obj at sop level and get the look you want

User Avatar
Member
271 posts
Joined: March 2012
Offline
Thanks sidenimjay - I brought this to the attention of SESI, but I'll look into using packed primitives in teh meantime.
User Avatar
Member
271 posts
Joined: March 2012
Offline
Apparently this is a thing with SSS in Arnold also - from their documentation (at the bottom of the page) this is solved via creating SSS groups:

https://support.solidangle.com/display/SItoAUG/Sub-Surface+Scattering#Sub-SurfaceScattering-SSSBetweenObjects [support.solidangle.com]

I'm unaware of the SSS in Houdini having this option - does anyone know if this is the case?
User Avatar
Member
6 posts
Joined: March 2009
Offline
Hi, I'm having exactly same issue as this one right now. Did you manage to work around it somehow?

Thanks
User Avatar
Member
271 posts
Joined: March 2012
Offline
jizrik
Hi, I'm having exactly same issue as this one right now. Did you manage to work around it somehow?

Thanks

I submitted it as a bug to SESI, but in the end I wrote my own shader based on the chanlum shader:
http://www.happyship.com/lab/chanlum/chanlum.html [happyship.com]
It's a bit old and basic now, but it does work quite a lot of the time. I will eventually make it into an asset and have it available for you all.

I know that SSS has had a rewrite in H16, so that's worth checking out.
  • Quick Links