Structure of Anisotropic BSDF Files
The following example of *.anisotropicbsdf files only describes the *.txt version of *.anisotropicbsdf files.
A binary version of *.anisotropicbsdf files also exists. This binary version is generated by the OMS2 or after applying some treatments to the .anisotropicbsdf files.
The Anisotropic BSDF is able to handle transmission as well as reflection.
Row | Description |
---|---|
Row 1 |
Header. Ex: OPTIS - Anisotropic BSDF surface file v8.0 The version number of this file does not change regardless of the selected mode (text or binary). |
Row 2 | Defines the mode: 0 for text mode, 1 for binary mode. |
Row 3 | Comment line. |
Row 4 |
Number of characters to read for the measurement description. Several lines are permitted for the measurement description. |
Row 5 | Measurement description (cannot be edited from the viewer). |
Row 6 | Contains the anisotropy vector in the global coordinates system. |
Row 7 |
Contains two boolean values (0=false and 1=true):
|
Row 8 |
Contains a boolean value describing the type of value stored in the file:
Note:
The normalization of the values is done by the software using the measurement values according to following formula:
If i0 is not measured, α0 is calculated for the 2 incidences around i0 and weighted in function of the distance to i0. If i0 is lower than the first incidence measured then i0=first incidence. If data is proportional to BRDF: BRDF(lambda, I, theta, phi) = α0 * RelativeIncidenceValue(i, theta, phi) If data is proportional to Intensity: BRDF(lambda, I, theta, phi) = α0 * RelativeIncidenceValue(i,theta,phi) / cos(theta) |
Row 9 | Number of anisotropy angles in reflection. |
Row 10 | List of anisotropy angles in reflection. |
Row 11 |
Number of incident angles in reflection, for anisotropy angle N°1. If you manually create the file, give it minimum two incident angles. |
Row 12 |
List of incident angles in reflection, for anisotropy angle N°1. If the number of anisotropy angles is higher than 1, rows 11 and 12 are repeated. |
Row 13 | Number of anisotropy angles in transmission. |
Row 14 | List of anisotropy angles in transmission. |
Row 15 |
Number of incident angles in transmission, for anisotropic angle N°1. If you manually create the file, give it at least 2 incident angles. |
Row 16 |
List of incident angles in transmission, for anisotropy angle N°1. If the number of anisotropy angles is higher than 1, rows 15 and 16 are repeated. |
Row 17 | Theta angle and a Phi angle for each spectrum measurement in reflection. |
Row 18 | Reflective Spectrum description: wavelength (nm), coefficient (%) |
Row 19 | Number of wavelength measurements in reflection. |
Row 20 |
Wavelength measurements in reflection (in nm). One wavelength takes one line. There are as many lines as wavelengths. |
Row 21 | Theta angle and a Phi angle for each spectrum measurement in transmission. |
Row 22 | Transmission Spectrum description: wavelength (nm), coefficient (%) |
Row 23 | Number of wavelength measurements in transmission. |
Row 24 |
Wavelength measurements in transmission (in nm). One wavelength takes one line. There are as many lines as wavelengths. |
Row 25 | Number of angles measured for Theta and Phi, in reflection, for the anisotropy angle N°1 and the incident angle N°1 of the anisotropy angle N°1. |
Row 26 |
Table of the measured BSDF according to Theta and Phi angles, in reflection, for the anisotropy angle N°1 and the incident angle N°1 of the anisotropy angle N°1. See Row 25 to 29 below. The table may take several lines. |
Row 27 | Number of angles measured for Theta and Phi, in reflection, for the anisotropy angle N°1 and the incident angle N°2 of the anisotropy angle N°1. |
Row 28 |
Table of the measured BSDF according to Theta and Phi angles, in reflection, for the anisotropy angle N°1 and the incident angle N°2 of the anisotropy angle N°1. See Row 25 to 29 below. The table may take several lines. |
Row 29 | From the row 23, the model of the rows is repeated according to the number of anisotropy angles and the number of incident angles of each anisotropy angle, in reflection and in transmission. |
Row 25 to 29
This part of the file contains all the goniometric measurement data. The format is described as pseudo code:
If(bReflection is true) { for a=1 to nAnisotropy for i=1 to nIncidence Put the BRDF(a,i) block in the file } If(bTransmission is true) { for a=1 to nAnisotropy for i=1 to nIncidence Put the BTDF(a,i) block in the file }
BRDF and BTDF blocks share the same structure, only the Theta angle range changes (from 0° to 90° for reflection and from 90° to 180° for transmission).
The first row of these blocks contains two integers nTheta and nPhi giving the number of Theta and Phi angles.
The second row contains the list of the Phi angles that are not necessarily equidistantly sampled.
For the next following rows nTheta rows are following.
The first value on the row is the Theta angle (first column), then the following values are the nPhi sampled goniometric data (BSDF or intensity according to the boolean value described in row 8).
For more details, see anisotropic BSDF surface example from . this example