[Bf-cycles] Volume Refraction shader
3dsakr at gmail.com
Mon Feb 6 21:47:57 CET 2017
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
did I miss something?
On Mon, Feb 6, 2017 at 3:31 PM, Zauber Paracelsus <zauber at gridmail.org>
> 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
> > https://lists.blender.org/mailman/listinfo/bf-cycles
> Bf-cycles mailing list
> Bf-cycles at blender.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Bf-cycles