本文描述BSDF散射模型所需的BSDF数据交换文件格式。该模型用于在非序列表面上应用由BSDF数据表提供的散射分布。
作者 Ron Rykowski
简介
BSDF数据交互文件格式是一种传输BSDF数据的紧凑、简单的方式。辐射视觉系统(Radiant Vision Systems)开发的成像球(IS-SA)等设备可以在一次测量中提供完整半球的BSDF数据,因此需要导出该数据的方法,以便直接用于光学设计程序(如OpticStudio)。
这种文件格式被BSDF散射模型所采用,在“如何使用表格BSDF数据定义表面散射分布”一文中描述了该模型。该模型使用输入文件中提供的BSDF数据生成一个散射分布,该分布可以应用于OpticStudio中的任何非序列表面。
坐标系定义
光从一个表面散射的结果主要通过四个重要的角度来描述,它们按照重要程度定义如下:
-
样本取向(枚举标签:SampleRotation)
-
入射角(枚举标签:angleofinincident)
-
散射方位角(枚举标签:ScatterAzimuth)
-
散射径向角(枚举标签:ScatterRadial)
四个角度的顺序是非常重要的:对于每个样本取向,你可以有多个入射角的数据;对于每个入射角,你可以有多个方位角的数据依此类推。
图1所示。四个BSDF角对传播散射数据很重要。注意,散射径向角和散射方位角是相对于BRDF的镜面反射角定义的。这样,必须报告的值的数量就减少了,特别是对于大多数镜面样本。对于BTDF,散射径向角和散射方位角是相对于直接透射角定义的。
散射方位角和散射径向角是相对于镜面反射的角度定义的。通过这种方式,必须报告的数据量(特别是对于大多数高反射光源)可以大大减少。在镜面反射角度处定义径向0°,径向角不断增大,向外延伸。方位角0°定义为从镜面反射角度指向与样品垂直的轴,方位角以逆时针方向增加。由于IS-SA的照度轴没有在0°方位角处定义,因此来自辐射视觉系统IS-SA的数据经过旋转变换来匹配该坐标系。
图2.关于镜面反射点的变换。上面的图像显示了一个30°角的样本的原始半球数据。下面的图像显示了转换后的数据,以镜面反射点为中心。注意,数据旋转后显示。在这种格式中,方位角0°被定义为沿着照明轴,但标准成像球坐标系(用于显示此转换)将方位角0°定义为垂直于照明轴,如顶部图像所示。
文件格式的定义
BSDF数据交换文件只是一个带有*.BSDF扩展的格式化文本文件。下面是一个表,列出了文件的每个文本和数据行以及可能的值。
行数 # |
描述 |
值 |
# |
<注释> |
<任何以#开头的行都会作为注释被忽略> |
1 |
Source |
Measured |
2 |
Symmetry |
PlaneSymmetrical Asymmetrical Asymmetrical4D |
3 |
SpectralContent |
Monochrome XYZ |
4 |
ScatterType |
BRDF BTDF |
5 |
SampleRotation |
<number of different sample rotations> |
6 |
<enum> |
<enumeration of sample rotations> |
7 |
AngleOfIncidence |
<number of different angles of incidence> |
8 |
<enum> |
<enumeration of angles of incidence> |
9 |
ScatterAzimuth |
<number of different azimuth angles> |
10 |
<enum> |
<enumeration of azimuth angles> |
11 |
ScatterRadial |
<number of different radial angles> |
12 |
<enum> |
<enumeration of radial angles> |
13 |
<empty line> |
|
14 |
<SpectralContent indicator |
Monochrome Tristimulus<XYZ> |
15 |
DataBegin |
<Begin Data> |
16+ |
<enum> |
<enumeration of scatter data for all angles> |
17 |
DataEnd |
<End Data> |
表1.BSDF数据交换格式的逐行描述。更改一些变量设置可能会影响枚举格式。具体细节请参见格式说明。
使用内置的样本文件BrownVinyl.BSDF为例,我们会把它标注在下面。
格式类型解释
- 目前Source变量只有一个选项:Measured
- 对称变量有三个选项:PlaneSymmetrical, ASymmetrical, ASymmetrical4D
PlaneSymmetrical
由于测量数据与测量的照度轴对称,因此只报告180°方位数据。对具有平面对称性的各向同性样品使用此设置。
Asymmetrical
测量数据不对称,没有样品旋转。360°方位数据全部报告。用于各向同性样品(只有一个样品旋转轴)。
ASymmetrical4D测量数据不存在对称性,包括样本旋转。报告所有360° 方位角数据。将此用于各向异性样本(多个样本旋转)。 - SpectralContent 变量有两个选项:Monochrome、XYZ
目前,Radiant Vision Systems的IS-SA不测量完整的光谱内容,而只测量三刺激数据。单色与三刺激Y(明视)相同。
Monochrome
DataBegin和DataEnd之间只有一组枚举数据。该组由DataBegin行上方的添加行标记(表1中的第14行)。
XYZ
将有三组散射数据,用于每个三刺激值。每个组由DataBegin行上方的添加行标记(表1中的第14行)。
注意在本文中,我们解释了CIE三色值XYZ的BSDF数据格式。但是,OpticStudio目前不支持具有CIE三色值的BSDF数据的散射模型。如果您在系统中加载具有CIE三色值XYZ的BSDF数据,则将仅使用Y组值。 - ScatterType变量有两个选项:BRDF、BTDF
BRDF
报告的数据采用BRDF单位。定义坐标系,使径向0° 对应于镜面反射的角度。
BTDF
报告的数据采用BTDF单位。定义坐标系,使径向0° 对应于直接传播的角度。
5-12.总值(第 5、7、9、11 行):
所有总值均以正整数表示(不允许小数点)。
样品旋转次数或入射角没有上限。
方位角的上限由Symmetry变量定义(PlaneSymmetrical为180°,ASymmetrical和ASymmetrical4D为360°)。
径向角的总体上限为180°。
枚举值(第 6、8、10、12 行):
所有枚举值都是正数。
枚举值的数量必须与上一行中的总值相匹配。
枚举值不必均匀分布(请参阅下一节中的示例格式;ScatterRadial和ScatterAzimuth枚举不是均匀分布的)。但是,每个数据行必须在该行的最后一个枚举值的末尾终止(即,数据行的末尾不应有额外的空格或制表符)。
- DataBegin和DataEnd语句围绕着每一组大数据。在给定入射角的每个散射数据块之前是总积分散射的值。该值位于单独的行上,前面有“TIS”。该值是一个分数,因此0.500的值表示50%的光被散射,其余的在BRDF的情况下被吸收或透射。
在TIS值之后,使用表示每个ScatterAzimuth行的ScatterRadial值的列枚举Scatter数据。这些行按组进行组织。首先,为每个AngleOfIncidence报告ScatterAzimuth值。每个包含各种ScatterAzimuth行的AngleOfIncidence的数据随后按以下行报告。然后通过附加更多行来报告每个SampleRotation的数据,其中包含各种AngleOfIncidence组。
散射数据的枚举格式根据为SpectralContent变量选择的设置而变化。如果SpectralContent变量设置为Monochrome,则格式将显示为下一节中的图3和图4。如果SpectralContent变量设置为XYZ,则有两个额外的DataBegin和DataEnd语句行,每个DataBegin行上方都有一个额外的标签行,用其关联的三刺激值标记数据组。 请参见下一节中的图 5。
BSDF数据交互格式示例
Monochrome
#Data Generated by Radiant Zemax' 'Imaging Sphere'
#6/1/2007 11:30:46 AM
#Name: Ron
#Model #: BTDF of matte sample
Source Measured
Symmetry PlaneSymmetrical
SpectralContent Monochrome
ScatterType BRDF
SampleRotation 1
0
AngleOfIncidence 6
0 10 20 30 45 60
ScatterAzimuth 5
0 30 60 90 180
ScatterRadial 15
0 1 2 3.5 5 6.7 8 13.1 ...
Monochrome
DataBegin
TIS 0.72
3.689E+00 3.575E+00 2.907E+00 ...
3.689E+00 3.585E+00 3.108E+00 ...
3.689E+00 3.585E+00 3.044E+00 ...
3.689E+00 3.511E+00 3.143E+00 ...
3.689E+00 3.313E+00 2.905E+00 ...
TIS 0.70
3.605E+00 3.491E+00 2.778E+00 ...
3.605E+00 3.444E+00 2.968E+00 ...
3.605E+00 3.444E+00 2.874E+00 ...
3.605E+00 3.316E+00 2.955E+00 ...
3.605E+00 3.206E+00 2.825E+00 ...
TIS 0.61
3.154E+00 3.059E+00 2.455E+00 ...
3.154E+00 2.924E+00 2.472E+00 ...
3.154E+00 2.924E+00 2.374E+00 ...
3.154E+00 2.768E+00 2.454E+00 ...
3.154E+00 2.892E+00 2.615E+00 ...
TIS 0.49
2.508E+00 2.453E+00 2.040E+00 ...
2.508E+00 2.341E+00 2.014E+00 ...
2.508E+00 2.341E+00 1.925E+00 ...
2.508E+00 2.203E+00 1.976E+00 ...
2.508E+00 2.311E+00 2.121E+00 ...
TIS 0.27
1.391E+00 1.362E+00 1.186E+00 ...
1.391E+00 1.351E+00 1.228E+00 ...
1.391E+00 1.351E+00 1.203E+00 ...
1.391E+00 1.324E+00 1.233E+00 ...
1.391E+00 1.323E+00 1.255E+00 ...
TIS 0.10
5.262E-01 5.333E-01 5.332E-01 ...
5.262E-01 5.295E-01 5.196E-01 ...
5.262E-01 5.295E-01 4.988E-01 ...
5.262E-01 5.122E-01 4.955E-01 ...
5.262E-01 5.070E-01 4.962E-01 ...
DataEnd
图 3:Photopic(Monochrome)数据格式示例。只有一个连续的数据组,以及一个DataBegin和DataEnd语句。此示例仅包含一个样本旋转的数据。如果有多个样本旋转,则数据组将在最后一个数据行之后但在DataEnd语句之前有额外的数据行。
#Data Generated by Radiant Imaging's 'Imaging Sphere'
#6/1/2007 11:30:46 AM
#Name: Ron
#Model #: BTDF of matte sample
Source Measured
Symmetry PlaneSymmetrical
SpectralContent Monochrome
ScatterType BRDF
SampleRotation 1
0
AngleOfIncidence 6
0 10 20 30 45 60
ScatterAzimuth 5
0 30 60 90 180
ScatterRadial 15
0 1 2 3.5 5 6.7 8 13.1 ...
Monochrome
DataBegin Rad 1 Rad 2 ...
TIS 0.72
3.689E+00 Az 0 3.575E+00 2.907E+00 ...
3.689E+00 Az 30 3.585E+00 3.108E+00 ...
3.689E+00 . 3.585E+00 3.044E+00 ... Inc 0
3.689E+00 . 3.511E+00 3.143E+00 ...
3.689E+00 Az 180 3.313E+00 2.905E+00 ...
TIS 0.70
3.605E+00 3.491E+00 2.778E+00 ...
3.605E+00 3.444E+00 2.968E+00 ...
3.605E+00 3.444E+00 2.874E+00 ... Inc 10
3.605E+00 3.316E+00 2.955E+00 ...
3.605E+00 3.206E+00 2.825E+00 ...
TIS 0.61
3.154E+00 3.059E+00 2.455E+00 ...
3.154E+00 2.924E+00 2.472E+00 ...
3.154E+00 2.924E+00 2.374E+00 ... .
3.154E+00 2.768E+00 2.454E+00 ...
3.154E+00 2.892E+00 2.615E+00 ...
TIS 0.49
2.508E+00 2.453E+00 2.040E+00 ...
2.508E+00 2.341E+00 2.014E+00 ...
2.508E+00 2.341E+00 1.925E+00 ... .
2.508E+00 2.203E+00 1.976E+00 ...
2.508E+00 2.311E+00 2.121E+00 ...
TIS 0.27
1.391E+00 1.362E+00 1.186E+00 ...
1.391E+00 1.351E+00 1.228E+00 ...
1.391E+00 1.351E+00 1.203E+00 ... .
1.391E+00 1.324E+00 1.233E+00 ...
1.391E+00 1.323E+00 1.255E+00 ...
TIS 0.10
5.262E-01 5.333E-01 5.332E-01 ...
5.262E-01 5.295E-01 5.196E-01 ...
5.262E-01 5.295E-01 4.988E-01 ... Inc 60
5.262E-01 5.122E-01 4.955E-01 ...
5.262E-01 5.070E-01 4.962E-01 ...
DataEnd
图 4:Photopic(Monochrome)数据格式的图解示例。 只有一个连续的数据组,以及一个DataBegin和DataEnd语句。该图以图形方式显示了入射角组、方位角组和径向角列的位置(显示了 15 个总列中的 3 个)。 此示例仅包含一个样本旋转的数据。如果有多个样本旋转,则数据组将在最后一个数据行之后但在DataEnd语句之前有额外的数据行。
#Data Generated by Radiant Imaging's 'Imaging Sphere'
#6/1/2007 11:30:46 AM
#Name: Ron
#Model #: BTDF of matte sample
Source Measured
Symmetry PlaneSymmetrical
SpectralContent XYZ
ScatterType BRDF
SampleRotation 1
0
AngleOfIncidence 6
0 10 20 30 45 60
ScatterAzimuth 5
0 30 60 90 180
ScatterRadial 15
0 1 2 3.5 5 6.7 8 13.1 ...
TristimulusX
DataBegin
TIS 0.72
3.689E+00 3.575E+00 2.907E+00 ...
3.689E+00 3.585E+00 3.108E+00 ...
3.689E+00 3.585E+00 3.044E+00 ...
3.689E+00 3.511E+00 3.143E+00 ...
3.689E+00 3.313E+00 2.905E+00 ...
TIS 0.70
3.605E+00 3.491E+00 2.778E+00 ...
3.605E+00 3.444E+00 2.968E+00 ...
3.605E+00 3.444E+00 2.874E+00 ...
3.605E+00 3.316E+00 2.955E+00 ...
3.605E+00 3.206E+00 2.825E+00 ...
TIS 0.61
3.154E+00 3.059E+00 2.455E+00 ...
3.154E+00 2.924E+00 2.472E+00 ...
3.154E+00 2.924E+00 2.374E+00 ...
3.154E+00 2.768E+00 2.454E+00 ...
3.154E+00 2.892E+00 2.615E+00 ...
TIS 0.49
2.508E+00 2.453E+00 2.040E+00 ...
2.508E+00 2.341E+00 2.014E+00 ...
2.508E+00 2.341E+00 1.925E+00 ...
2.508E+00 2.203E+00 1.976E+00 ...
2.508E+00 2.311E+00 2.121E+00 ...
TIS 0.27
1.391E+00 1.362E+00 1.186E+00 ...
1.391E+00 1.351E+00 1.228E+00 ...
1.391E+00 1.351E+00 1.203E+00 ...
1.391E+00 1.324E+00 1.233E+00 ...
1.391E+00 1.323E+00 1.255E+00 ...
TIS 0.10
5.262E-01 5.333E-01 5.332E-01 ...
5.262E-01 5.295E-01 5.196E-01 ...
5.262E-01 5.295E-01 4.988E-01 ...
5.262E-01 5.122E-01 4.955E-01 ...
5.262E-01 5.070E-01 4.962E-01 ...
DataEnd
TristimulusY
DataBegin
TIS 0.72
3.689E+00 3.575E+00 2.907E+00 ...
3.689E+00 3.585E+00 3.108E+00 ...
3.689E+00 3.585E+00 3.044E+00 ...
3.689E+00 3.511E+00 3.143E+00 ...
图 5:Color(XYZ)数据格式示例。请注意,每个单独的Tristimulus值都有单独的DataBegin和DataEnd 语句。如果有多个样本旋转,每个Tristimulus 分组将在最后一个数据行之后但在 DataEnd 语句之前有额外的数据行。
KA-01372
评论
请登录写评论。