Blend BSDF

Description

../../../_images/blend.jpg

Example of blend BSDF between a metal and diffuse clay

BSDF This special BSDF does blends, or linear combinations, of other BSDFs, following a user-defined blend function varying between 0 and 1. This is often used for mixing BSDFs (for instance, with a constant blend ratio) or for continuously varying between BSDFs across the surface.

For instance, if five child BSDFs are defined, they will correspond to blend function values of 0, 0.25, 0.5, 0.75 and 1 respectively. Other blend function values interpolate linearly between the two nearest BSDFs.

Note

Before Ocean 2017 R2, this BSDF had a forcestep parameter. When set to true, the resulting BSDF was not blended but switched when the blend function reached threshold values. This is now achieved with a Switch BSDF

Children Nodes

Scalar shader blend The blend function defining the BSDF mix, between 0 (first bsdf) and 1 (last bsdf)
bsdf user-defined First BSDF
bsdf user-defined Second BSDF
bsdf user-defined ...

Parameters

none

Ocean XML 5.0 example

<bsdf type="blend" name="bsdf">
   <bsdf type="reflective" name="bsdf1" rereflections="true">
      <intlaw type="cfresnel" name="intlaw">
         <medium type="linked" name="medium" target="ocean-metals::Ti"/>
      </intlaw>
      <roughness type="phong" name="roughness">
         <scalarshader type="uniform" name="exponent" value="500"/>
      </roughness>
   </bsdf>
   <bsdf type="oren_nayar" name="bsdf2">
      <filtershader type="uniform" name="diffuse">
         <spectrum type="tabulated" name="spectrum" start="380E-9" end="780E-9" num="8">
            0.2 0.25 0.3 0.35 0.5 0.6 0.7 0.7
         </spectrum>
      </filtershader>
      <scalarshader type="uniform" name="sigma" value="1"/>
   </bsdf>
   <scalarshader type="texture" name="blend" greypt="0.5">
      <image type="" name="image" path="gradient.png"/>
   </scalarshader>
</bsdf>