Volumetric BSDF and BSSRDF

Say, I can create some porous objects (like a cheese) from a simple geometric figure (like a cube) just by using volumetric shaders combined with texture nodes. But it will be only a shape I want to create but not the material: I cannot or just don’t know how to make the generated object’s surface glossy/diffuse/SSS everywhere (including surfaces of the bubbles inside it). Is it possible somehow to achieve this with BSDF (and BSSRDF) shaders?

did you try to add shader in surface slot?

Yes, I did. That doesn’t affect inner volume: the bubbles don’t become glossy, for example.

Sorry - you can’t do that currently.

in this case it can be tried to model this kind of surface

It’s a pity :frowning: Anyway, thank you for your short and clear answer, Moony.

Porous like objects are possible using Vector Displacement Node.

Main difference between displacement and vector displacement:

Take a look at this video for more information:

1 Like

Thank you, Filibis. I’ll try to investigate how to achieve it. For now, cannot imagine what should the texture look like.

@filibis, BTW, from the first sight, it looks like such displacement technics better work with smooth surfaces (e.g., with objects without sharp corners). Sharp corners may create intersections or tears between displaced surfaces. What do you think?

It would be nice at some point if Cycles included some sort of isosurface generation that keys off volume data, but I dont think such a thing is even being worked on currently.

As poster above states, vector displacement may get you reasonably close, but a true volumetric option currently doesnt exist within cycles.

I don’t know whether surface shading on volumetric data using techniques below may ever be possible in Cycles or Eevee - it certainly seems possible to estimate or infer surface normals from volumetric data.

@moony, I’ve added the request :slight_smile:

A few days ago i saw a new feature for Blender,iirc it was at Blender today.Where you can make a volumetric object from a mesh object.In theory you could then duplicate your mesh to keep one as shell for shading,and transform the second to the volume.

@Nazarii It’s quite hard to control the procedural texture and requires some math knowledge. You might be correct about intersection problems as the geometry won’t disappear actually (I’m not sure).
Also here is a good example:

@pixelgrip, @filibis, thank you for suggestions. It looks like Volume to Mesh modifier is on plans (from a comment to my request).