[Bf-cycles] Volume Refraction shader

gandalf3 zzyxpaw at gmail.com
Wed Feb 8 06:26:37 CET 2017


What you describe is *scattering*, which distinct from refraction.

As I understand it, refraction in a volume behaves rather as if the IOR 
changes continuously, rather than all at once at a surface.
See for example: https://en.wikipedia.org/wiki/Atmospheric_refraction

On 02/06/2017 12:47 PM, Mohamed Sakr wrote:
> this is already done using the volume scatter node.
> first, how the ray refracts:
> it hits a surface, detect the surface (polygon) normal, then refract 
> based on ray incident direction and polygon normal.
>
> with volumes, what is the normal? you are refracting on a spherical 
> point in space, so it can jump anywhere, and this is exactly what 
> volume scatter node does.
> did I miss something?
>
> On Mon, Feb 6, 2017 at 3:31 PM, Zauber Paracelsus <zauber at gridmail.org 
> <mailto:zauber at gridmail.org>> wrote:
>
>     I had suggested this a while back, though with a different purpose in
>     mind, which was to produce a gravitational lensing effect.
>
>     On 02/05/2017 05:45 PM, Mircea Kitsune wrote:
>     > This is something I've been wanting to get to the developers to
>     for a
>     > while. It's a feature I hoped to use on several occasions, but
>     > unfortunately it doesn't exist nor seems to be in any official
>     plans as
>     > of yet. Please consider a solution if possible. Thank you.
>     >
>     > Suggestion request: Implementing a volume refraction shader.
>     Either by
>     > allowing the existing Refraction BSDF to work on the Volume material
>     > output, or by defining a new Volume Refraction shader if that is a
>     > better approach.
>     >
>     > Suggested functionality: When a ray passes through a volume
>     affected by
>     > this shader, its trajectory is bent, just like Glass BSDF or
>     Refraction
>     > BSDF does for surfaces. Optionally, an IOR value may let users
>     define
>     > the probability and / or angle at which rays have their course
>     modified,
>     > whereas a Roughness value adjusts how blurry the view gets
>     through such
>     > a volume... the two ideally operate in an independent way so that
>     > refraction and blur can work without one another.
>     >
>     > Purpose 1: The most important practical use of this shader is proper
>     > heat haze, emulating the air deformations we see above hot ovens
>     / jet
>     > engines / roads during summer days. As a workaround, this is already
>     > possible to do with render nodes, by rendering your volume as a
>     black &
>     > white mask on a different render pass then plugging it into the
>     Vector
>     > input of a Displace node through which the main render is passed.
>     > However this is just a workaround that so happens to work: It
>     leads to
>     > quality loss due to smudging and stretching the render result,
>     causes
>     > empty spaces if the transformation of the mask warps near an
>     edge, is
>     > much less realistic compared to the ray actually traveling a
>     different
>     > trajectory, and might ultimately be slower depending on what
>     > calculations are implied.
>     >
>     > Purpose 2: This would allow a greater level of detail for
>     objects such
>     > as crystals, diamonds, gems, ice crystals, and other types of rough
>     > glass. You can already design realistic crystals in Cycles, by
>     > customizing the IOR and Roughness of a Glass BSDF or Refraction
>     BSDF,
>     > causing different spots to refract or blur in different amounts.
>     However
>     > you can't differentiate such spots volumetrically inside the crystal
>     > itself, and can't create rough blurry strands or inner glass
>     pieces that
>     > have a different refraction angle from others. This can of course be
>     > worked around by adding smaller meshes inside the main crystal and
>     > giving them different materials, but this technique will cause sharp
>     > edges and is less correct and flexible compared to volumes in
>     many cases.
>     >
>     > _______________________________________________
>     > Bf-cycles mailing list
>     > Bf-cycles at blender.org <mailto:Bf-cycles at blender.org>
>     > https://lists.blender.org/mailman/listinfo/bf-cycles
>     <https://lists.blender.org/mailman/listinfo/bf-cycles>
>
>
>     _______________________________________________
>     Bf-cycles mailing list
>     Bf-cycles at blender.org <mailto:Bf-cycles at blender.org>
>     https://lists.blender.org/mailman/listinfo/bf-cycles
>     <https://lists.blender.org/mailman/listinfo/bf-cycles>
>
>
>
>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20170207/9fae750e/attachment.htm 


More information about the Bf-cycles mailing list