X3D实战基本讲座之七
副标题#e#
第七讲 光源处理惩罚
在X3D场景空间中,可以利用点光源节点(PointLight)、平行光源节点(DirectionalLight)和聚光性光源节点(SpotLight)来处理惩罚造型物体的光照豁亮水平。
本讲就来先容这三个节点的属性及其利用要领。
一、点光源节点(PointLight)
PointLight 是一个点光源,它向所有的偏向发射光泽。光泽照亮所有的几许工具,也不会被几许形体遮挡而形成阴影。其主要属性如下表所示:
属性 | 寄义 | 默认值 | 利用说明 |
on | 光源是否开关 | True | 为True时打开光源,为False时封锁光源 |
color | 光的颜色 | 1 1 1 | 指定光的颜色,它会影响工具的实际颜色显示结果 |
location | 光源地址的位置 | 0 0 0 | 光源的位置影响光的强弱 |
intensity | 灯光的亮度 | 1 | 取值范畴为0~1 |
ambientIntensity | 对情况光影响水平 | 0 | 取值范畴为0~1,它的值越大,对情况光影响也越大 |
radius | 光源影响半径 | 100 | 以光源为中心的灯光结果的最泰半径 |
attenuation | 光泽衰减参数 | 1 0 0 | 由三个值组成:第1个值节制光源在照明球体中亮度的一致水平,第2个值节制跟着间隔的增加,光泽的线性衰减水平,最后1个值是节制跟着间隔的增加,光泽的线性平方衰减水平。 |
简朴的示例代码如下:
说明:我们先在点光源位置处结构一个与光源颜色沟通的小球,然后在(3,0,0)处结构一个圆柱体。功效如下图所示,留意圆柱体的颜色。
若在光源和圆柱体之间在加一个沟通圆柱体,试较量这两上圆柱体的结果。代码如下:
功效如下图所示:
#p#副标题#e#
二、聚光性光源节点(SpotLight)
SpotLight 是一个聚光性光源节点。它只照亮指定圆锥范畴内的几许体。它的主要属性如下:
个中大部门属性与PointLight节点寄义沟通,所差异的有:
direction –灯光偏向,默认值为[0 0 -1]
intensity — 灯灼烁度,默认值为1,取值范畴为0~1
beamWidth — 内部立体角(弧度) ,默认值为1.570796(180度),假如beamWidth > cutOffAngle, beamWidth 会从头设为和 cutOffAngle相等。
cutOffAngle –外部立体角(弧度),默认值为0.785398(90度)。
上述参数寄义和干系可以用下图来暗示:
示例代码如下:
功效如下图所示:
三、平行光源节点(DirectionalLight)
DirectionalLight 建设了一个平行光泽来来照亮几许体。由于光泽从无限远处平行照射,所以不需要思量光源的位置。DirectionalLight 节点的光不随间隔变革而衰减,其主要属性如下表所示:
属性 | 寄义 | 默认值 | 利用说明 |
on | 光源是否开关 | True | 为True时打开光源,为False时封锁光源 |
color | 光的颜色 | 1 1 1 | 指定光的颜色,它会影响工具的实际颜色显示结果 |
intensity | 灯光的亮度 | 1 | 取值范畴为0~1 |
ambientIntensity | 对情况光影响水平 | 0 | 取值范畴为0~1,它的值越大,对情况光影响也越大 |
示譬喻下:
功效如下图所示:
至此,我们对X3D场景的光源有了必然的相识,在下一讲中,我们将接头纹理映射。