Specular BSDF



Example of a specular soda-lime glass material

bsdf This model corresponds to perfectly smooth reflective and refractive surfaces. A ray of light with a given wavelength will exit the surface with only two possible directions : mirror reflection and refraction. No scattering occurs, in other terms, this is a pure dirac BRDF.

Specular BSDFs are often used in materials with a bulk medium (see modelling volumes) : this means they do not describe only surface properties, but also what happens to light within their volume. The medium associated to the material governs refraction, and volumetric light extinction.

Reflection and transmission coefficients are governed by the defined Interface law. This can range from simple fresnel law (assuming the surface is a simple diopter between bulk and external medium) to complex optical coatings.

The irtrmin_tweak parameter sets the minimum reflection/transmission importance ratio, between 0 and 0.5. This parameter does not affect the final result, but will impact the noise convergence speed. On a highly transparent material, increasing this value will cause the engine to cast more reflection rays, and on a strongly reflective material, it will cast more transmission rays. If you simulate double internal reflection through a windshield, or transmission through a two-way window, setting this value higher than zero may strongly improve simulation time. In most cases, it should be left to 0, as this will increase noise in most cases.

Children Nodes

Interface law intlaw Optical law governing reflection and transmission coefficients


name type description
irtrmin_tweak real The minimum reflection/transmission importance ratio, between 0 and 0.5. See node description for details

Ocean XML 4.0 example

<bsdf name="bsdf" type="specular">
   <medium name="bulk" precedence="10" type="simple">
      <spectrum name="n" type="cauchy" b="1.5235" c="0.00424672"/>
      <spectrum name="a" type="tabulated" start="380E-9" end="780E-9" num="41">
         13.93       8.53    5.21    5.44    6.05    5.72    5.76    5.43    5.10
         4.02        2.77    3.32    3.92    3.78    3.97    3.27    2.90    3.31
         3.87        3.91    4.84    5.63    6.01    6.80    7.75    8.51    9.13
         10.28       10.85   11.67   12.65   14.02   14.81   16.04   17.04   18.25
         19.06       19.92   21.14   21.97   23.21
   <prm transparent="true"/>
   <intlaw name="intlaw" type="fresnel"/>