Simple isotropic table BSDF

Description

BSDF This BSDF model uses tabulated values. The coordinate system is the classical inbound/outbound light vector pair given as theta and phi angles.

As the BSDF is isotropic, it is independent of phiin.

This tabulated format is not currently editable in the graphical user interface, and should be provided in OCXML or OCBIN file formats.

The BSDF coefficient may be RGB, spectral values, or any set of channels having a primary spectrum. These primaries are represented by the spectrum children nodes. For instance:
  • An achromatic (gray) BSDF will have a single spectrum child primary. The spectrum will be uniform, with a value of 1

  • A RGB BSDF will have three primaries, each being set to R, G and B primary spectrum using preset spectra.

  • A spectral BSDF will, for instance use a set of square spectra as primaries.

Note

Using this feature requires an Advanced Edition license

Children Nodes

This node is a spectrum list. It may have a variable number of spectrum children.

Spectrum user-defined

First primary

Spectrum user-defined

Second primary

Spectrum user-defined

Ocean XML 3.0 example

<bsdf type="simpleisotable" name="brdf">
     <spectrum type="square" name="" id="0" min="3.75e-07" max="3.15e-07" base="0" top="1"/>
     <spectrum type="square" name="" id="1" min="4.15e-07" max="4.75e-07" base="0" top="1"/>
     <spectrum type="square" name="" id="2" min="4.75e-07" max="5.45e-07" base="0" top="1"/>
     <spectrum type="square" name="" id="3" min="5.45e-07" max="6.25e-07" base="0" top="1"/>
     <spectrum type="square" name="" id="4" min="6.25e-07" max="7.45e-07" base="0" top="1"/>
     <spectrum type="square" name="" id="5" min="7.45e-07" max="8.05e-07" base="0" top="1"/>
     <flist name="theta_in">  0  10  20  30  40  50  60  70  80  90  </flist>
     <flist name="theta_out">0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90</flist>
     <ilist name="num_phi_out">  19  </ilist>
     <ilist name="phi_out_sym">  -1  </ilist>
     <flist name="values">
             0.389785  0.129445  0.11356  0.105183333  0.164216667  0.235185  0.248655
             0.3962  0.12633  0.113393333  0.104006667  0.162716667  0.2342775  0.2482625
             0.39446  0.12874  0.115156667  0.10349  0.162503333  0.233835  0.2470225  0.2720525
             0.420615  0.1274  0.115486667  0.105206667  0.160713333  0.2312875  0.2457825
             0.3993  0.12369  0.110556667  0.102003333  0.157766667  0.2273  0.239755  0.2648475
             0.401705  0.12205  0.11039  0.099266667  0.154356667  0.224645  0.237725  0.2620225
             0.37399  0.120445  0.106716667  0.097906667  0.151933333  0.22119  0.234375  0.25881
             0.348375  0.115685  0.107123333  0.097973333  0.151156667  0.2191075  0.23276
             0.35865  0.122855  0.1072  0.09529  0.147316667  0.2149775  0.2290225  0.252225
             0.355565  0.112805  0.10359  0.09289  0.145363333  0.2124975  0.22522  0.2482175
             <!-- Actual data skipped -->
     </flist>
</bsdf>
  • The spectrum elements define a 6-channel spectral BSDF

  • The first “flist” define the incident thetain angles.

  • The next one defines the reflected thetaout angles.

  • The next “ilist” defines the number of reflected phiout angles. Their exact value will be fixed by the next “phi_out_sym” which defines the symmetry of the BRDF:

    • 0 or 1 means no symmetry, the first phi_out is 0 and the last one is 360*(1-1/num_phi_out).

    • -1 is an axial symmetry along the incident plane. The first phi_out is 0 and the last one is 180.

    • -2 is an axial symmetry plus a periodicity of 180°/2 = 90°. The first phi_out is 0 and the last one is 90

    • A value n above 1 means a periodicity of 360°/n. The first phi_out is 0 and the last one is 360*(n-n/num_phi_out).

  • The BRDF values are then given in a single list , by order of : thetain, thetaout, phiout and primary.

../../../_images/angles-brdf.svg

Angle conventions