X3D实战基础讲座之七 - 编程入门网
X3D实战基础讲座之七时间:2010-07-19第七讲 光源处理 在X3D场景空间中,可以使用点光源节点(PointLight)、平行光源节点(DirectionalLight)和聚光性光源节点(SpotLight)来处理造型物体的光照明亮程度。 本讲就来介绍这三个节点的属性及其使用方法。 一、点光源节点(PointLight) PointLight 是一个点光源,它向所有的方向发射光线。光线照亮所有的几何对象,也不会被几何形体遮挡而形成阴影。其主要属性如下表所示:
简单的示例代码如下: 说明:我们先在点光源位置处构造一个与光源颜色相同的小球,然后在(3,0,0)处构造一个圆柱体。结果如下图所示,注意圆柱体的颜色。 若在光源和圆柱体之间在加一个相同圆柱体,试比较这两上圆柱体的效果。代码如下: 结果如下图所示: X3D实战基础讲座之七(2)时间:2010-07-19二、聚光性光源节点(SpotLight) SpotLight 是一个聚光性光源节点。它只照亮指定圆锥范围内的几何体。它的主要属性如下: 其中大部分属性与PointLight节点含义相同,所不同的有: direction --灯光方向,默认值为[0 0 -1] intensity -- 灯光亮度,默认值为1,取值范围为0~1 beamWidth -- 内部立体角(弧度) ,默认值为1.570796(180度),如果beamWidth > cutOffAngle, beamWidth 会重新设为和 cutOffAngle相等。 cutOffAngle --外部立体角(弧度),默认值为0.785398(90度)。 上述参数含义和关系可以用下图来表示: 示例代码如下: 结果如下图所示: X3D实战基础讲座之七(3)时间:2010-07-19三、平行光源节点(DirectionalLight) DirectionalLight 创建了一个平行光线来来照亮几何体。由于光线从无限远处平行照射,所以不需要考虑光源的位置。DirectionalLight 节点的光不随距离变化而衰减,其主要属性如下表所示:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |