MDL material_volume varying absorption_coefficient


In MDL, I am trying to drive material_volume->absorption_coefficient with a 2d texture but it breaks (renders as if value is 0) whenever I do this. I am able to use a constant value without issue. Is this not supported?


This is when rendering in iRay

Indeed, this is not supported in Iray (and in general its not well defined how a 2d texture would texture a 3d volume)

Perhaps I am looking for something else. In Prman it is useful to define at the surface (in 2d) how deep light will scatter into the volume. I am looking for a way to get more scattering in the end of the nose vs the forehead in a skin shader. Any other ideas?


The most basic response would be “model the skull” since this is what shortens the sss radius. But thats likely not what you want to hear :-)

I need to think a bit about that, most people are content with an albedo map for sss materials. I guess you would want the albedo to not change, just the scatter radius.

Thanks for the response–yes I think I will try the skull approach–at least for a ‘ground truth’ of sorts.

Thinking about it more scatter radius might not be what I want either. The problem is when I shorten the transmission distance, the response gets darker but I would expecting it to get lighter in this case because I am trying to simulate bouncing back up through the skin off of something, not getting absorbed. It is more like you want to specify a depth where the response transitions from transmission to reflect to simulate the idea of something solid embedded in the volume. This would add energy rather than absorb energy which is what I expect.