BSDF Capture instrument¶
Description¶
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.
List of channels defined by a sensitivity spectrum |
|
First output preset |
|
Second output preset |
|
… |
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>