BSDF Capture instrument

Description

../../../_images/bsdfcapture.png

A BSDF being rendered with a BSDF capture instrument

Instrument This instrument computes the average tabulated BSDF of a region in the scene. It is the only instrument that generates the BSDF quantity

It is generally used with the BSDF output for displaying results in a nice hemisphere preview, and exporting an Ocean BSDF you can use in another scene in a .ocbin file.

You don’t need any light source, as the instrument will automatically disable any environment and light the analyzed surface. Any emitting surface will cause wrong results (Be careful there is currently no warning).

Warning

Do not use any emitting surface with this instrument! This will generate wrong results.

Warning

Also take care that the BSDF capture doesn’t yet supports setting a lightpath depth higher than 1. This will generate wrong results

You cannot manually set the resolution of this instrument, it has several predefined grid densities accessible with the resolution parameter. If the material is anisotropic, the anisotropy parameter sets the captured anisotropic resolution and aniso_sym the optional anisotropy axes of symmetry.

Intent

The intent parameter controls how the interpolation between discretized light angles is handled:

  • Photometry mode ensures the best possible energy conservation. On the other hand, image rendering tends to be more blurry using this mode

  • Rendering mode ensures the best image accuracy, especially for sharp reflections. On the other hand, it does not ensure perfect energy conservation in quantitative studies.

Modes

The reflection and transmission parameters enable BRDF or BTDF capture, respectively. They can be enabled together for capturing a full BSDF.

When a material has different reflection properties on each side, this may be captured using the asymmetrical reflection mode. Otherwise, an average BRDF will be generated.

The same holds for transmission. Transmission is generally symmetric unless we are capturing a refractive BSDF.

Note

Using this feature requires an Advanced Edition license

Children Nodes

This node may have a variable number of output children with custom names.

Sensor sensor

List of channels defined by a sensitivity spectrum

Output user-defined

First output preset

Output user-defined

Second output preset

Output user-defined

Parameters

name

type

description

wlmin

real

Low bound of simulation wavelength range

wlmax

real

High bound of simulation wavelength range

pos

vec3

The center of the analyzed region. Placing it slightly above the surface might avoid some grazing angle problems.

normal

vec3

Direction towards the front side of the analyzed surface

tangent

vec3

The tangent vector, for orienting anisotropic BSDFs. Should be orthogonal to normal

spotradius

real

The radius of the analyzed region around pos

intent

list

Optimizes results for photometry or rendering

reflection

list

The BRDF capture mode disabled, symmetrical or asymmetrical

transmission

list

The BTDF capture mode disabled, symmetrical or asymmetrical

resolution

list

The BSDF resolution, may be tiny, small, medium, large, huge

anisotropy

list

The anisotropic resolution, may be none, soft, medium, sharp, extreme. Set it to none for anisotropic surfaces. Using a high value in conjunction with a high resolution will use a lot of memory and take a very long time to converge.

aniso_sym

list

The anisotropy symmetry axis. May be none, tangent, both

Ocean XML 5.6 example

<instrument type="bsdfcapture" name="brdf">
     <prm wlmin="3.8e-007"/>
     <prm wlmax="7.8e-007"/>
     <prm pos="0     0       0.0002"/>
     <prm normal="0  0       1"/>
     <prm tangent="0 1       0"/>
     <prm spotradius="0.1"/>
     <prm reflection="symmetrical"/>
     <prm transmission="disabled"/>
     <prm resolution="large"/>
     <prm anisotropy="none"/>
     <prm aniso_sym="both"/>
     <sensor type="ciexyz" name="sensor" y_only="false"/>
     <output type="bsdf" name="output" light="0      -0.707107       0.707107" range="1"/>
</instrument>