X3D实战基础讲座之七
2008-01-05 20:06:07 来源:WEB开发网在X3D场景空间中,可以使用点光源节点(PointLight)、平行光源节点(DirectionalLight)和聚光性光源节点(SpotLight)来处理造型物体的光照明亮程度。
本讲就来介绍这三个节点的属性及其使用方法。
一、 点光源节点(PointLight)
PointLight 是一个点光源,它向所有的方向发射光线。光线照亮所有的几何对象,也不会被几何形体遮挡而形成阴影。其主要属性如下表所示:
简单的示例代码如下:
说明:我们先在点光源位置处构造一个与光源颜色相同的小球,然后在(3,0,0)处构造一个圆柱体。结果如下图所示,注重圆柱体的颜色。
若在光源和圆柱体之间在加一个相同圆柱体,试比较这两上圆柱体的效果。代码如下:
结果如下图所示:
二、聚光性光源节点(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 节点的光不随距离变化而衰减,其主要属性如下表所示:
示例如下:
结果如下图所示:
至此,我们对X3D场景的光源有了一定的了解,在下一讲中,我们将讨论纹理映射。
进入讨论组讨论。- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››xdebug的安装
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››基础推广如何完成网站的优化升级(一)
- ››实战经验:巧用微博推广淘宝网店
- ››实战iPhone GPS定位系统
- ››实战Linux环境配置DBD:Oracle模块
- ››实战DeviceIoControl系列之一:通过API访问设备驱...
- ››实战DeviceIoControl系列之二:获取软盘/硬盘/光盘...
更多精彩
赞助商链接