Nested dielectrics ?

Hello,

A friend on a french CG forum bounced on a thread about a ShaderXYZ contest, asking if VRay could integrate nested dielectric principles. I must admitt that’s the first time I hear about nested dielectrics … is there anyway to get that with VRay ?
Any precisions would be great.

Thanks a lot :slight_smile:

I think there might be, with VrayDistanceTex, running some tests.

surely a great way of doing foam/sponge and so on would be the old VRayISO? I always thought that could/should have been continued.

Is there a way of creating a volume shader that uses (for example) prodecural noise to create internal cellular walls etc? I’m sure pixar created one for the bread in ratatouille.

Hey Nico, while looking into this, why would you need it in this case? VRay should shade things like bubbles and ice cubes correctly already.

Oh, I don’t need that for now, it’s just pure curiosity … for now :stuck_out_tongue:

That reminds me of VolumeSolid shader Cebas developped years ago for finalRender … it was amazing. AFAIR, it was “inspired” of some Pixar R&D.

Cool. : )
Macker, VRayScatterVolume is worth looking into for this.

I had totally forgotten this one ! thanks for the reminder, Rens, it will be worth testing, even if we don’t need that here for now.

Ahh unfortunately you can’t seem to use 3D noises with the inside volume of VRayScatterVolume.

So looking into the nested stuff, I was thinking something like this video,

and just switch the material of the based on if the glass is intersecting with a cylinder representing the liquid.

It works, but it’s a bit tricky because the VRayMtl Fog parameter seems to work only on the whole object based on the fog settings of the base material in a BlendMtl.

Generally the use of this is probably very limited, but it’s a cool experiment. : )

vrayvolumegrid can give you volumetric objects defined by 3d textures. its a bit fiddly to set up, but it can be done.. expect long rendertimes for clean high detail stuff. iirc you just create a volumegrid without specifying a source file, then you use the LxWxH to define a volume to work in. you can use objects to clip the volume by driving the volume with a distance tex linked to the clipper object.. obviously then you have nice control over edge softness. you can then add in procedurals to the map tree, to do nice stuff like sponges/clouds etc.. vraymetaballs, can be driven in a similar way.. but is even more amazingly slow for fine detail.

It’s a good idea and does represent the internal spaces/voids but it won’t shade them with a surface (reflections/brdf etc) - it’s either fog or no fog.

sorry, read that as vray environment fog, not VRayMtl fog.

V-Ray has supported rendering of nested dialectrics since a very long time. See here for a discussion of the topic:
https://docs.chaosgroup.com/display/…ace+Interfaces

It’s done in a way that does not require you to set up surface priorities.

Best regards,
Vlado

Hey @super_gnu , can you explain a bit how to define a volume for the vrayvolumegrid ?