X3D实战基础讲座之七

第七讲 光源处理

在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)处构造一个圆柱体。结果如下图所示,注意圆柱体的颜色。

若在光源和圆柱体之间在加一个相同圆柱体,试比较这两上圆柱体的效果。代码如下:

结果如下图所示:

时间: 2024-11-08 22:04:46

X3D实战基础讲座之七的相关文章

X3D实战基础讲座之五

在X3D场景空间中,每一个造型都有其空间坐标,通过修改空间坐标系就可以使该造型在场景空间中移动.旋转和缩放等. X3D提供Transform节点来进行造型的几何变换,该节点的主要属性如下表所示: 属性 含义 默认值 使用说明 translation 平移 0 0 0 将几何体平移到指定的空间点位置 rotation 旋转 0 0 1 0 前3个值是空间坐标点,该点和原点相连的线为旋转轴,第4个值为旋转角度(以弧度为单位) center 操作基点 0 0 0 指定一个空间点作为几何变换的基点 sc

X3D实战基础讲座之十二

在X3D中,通过使用程序化的节点Script来嵌入脚本程序.它支持ECMAScript/JavaScript 或 Java语言.这里解释一下什么是ECMAScript,ECMAScript也是一种脚本语言,由Netscape和Microsoft使用开发,它是一种面向对象语言,ECMAScript和DOM一起十分接近于现在对JavaScript和JScript的实现,虽然说是用于网络环境,但它可以用于任何脚本环境中,并且其语法与JavaScript基本相同. 在本讲中,我们先来看一个实例过程,然后

X3D实战基础讲座之十一

我们知道,对于Visual C++而言,交互的实现是通过消息映射来进行的.同样,X3D的交互实现也是通过类似的映射机制.用户事件的产生是通过相应的传感器产生的,而ROUTE语句就是相当于事件的映射,它映射到另一个输入事件中. X3D中,用户事件的传感器有:KeySensor(键盘传感器) .StringSensor(字符串传感器).TouchSensor(触摸传感器).PlaneSensor(平移传感器) .SphereSensor(绕点旋转感器)和CylinderSensor(Y轴旋转传感器)

X3D实战基础讲座之十

由于X3D的动画涉及到时间触发器.插值器.事件和路由等概念,因此在本讲中,我们先来看一个简单的示例,然后一步一步深入下去. 一.一个简单的示例 示例的结果如下图所示: 说明:预览后,球来回移动.

X3D实战基础讲座之九

X3D对多媒体的支持是通过这三个节点来实现的:AudioClip(音频数据节点).Sound(音频播放节点)以及MovieTexture(影像纹理节点). 在本讲中,我们先来简单地介绍这三个节点的属性,然后举一些例子分别说明这些节点的使用及音频和视频的播放. 一.音频和视频节点 1.AudioClip(音频数据)节点 AudioClip 一般作为Sound的子节点,分其提供音频数据,其主要属性有: description -- 此节点显示的提示文本. url -- 声音文件的位置.该文件通常是

X3D实战基础讲座之八

第八讲 纹理映射 在前面几讲中,我们是通过Material节点来改变物体的外观特性.这些特性仅仅是一致性的宏观效果,对于物体的某些细节我们还没有涉及到.通过纹理映射和处理可以为物体的表面细节增强表现力.本讲分三个部分来讨论:一是X3D基本纹理节点的使用,二是使用纹理的坐标系统,三是纹理的变换. 一.X3D基本纹理节点的使用 X3D中,提供了PixelTexture(像素纹理).ImageTexture(贴图纹理)和MovieTexture(影像纹理)三个节点.对于MovieTexture(影像纹

X3D实战基础讲座之六

在X3D场景空间中,为了能够让浏览者方便地控制自己的观察位置和角度,X3D提供了视点节点Viewpoint.同时为了能以不同方式来浏览,X3D提供了NavigationInfo导航节点. 下面就来介绍这两个节点的使用. 一.Viewpoint节点 Viewpoint节点指明了一个X3D场景空间中的观察位置和视角方向,其主要属性如下表如下: 属性 含义 默认值 使用说明 description 视点的文字描述 -- 指定的视点描述文字将出现在其快捷菜单上 position 视点位置 0 0 10

X3D实战基础讲座之四

X3D提供了立方体(Box).圆柱(Cylinder).圆锥(Cone).球体(Sphere)等基本3D造型节点.在本讲中,我们先来简单地介绍这些节点的使用,然后再来介绍节点的编组和节点的重复使用方法. 一.立方体Box 构造的代码如下: 说明:Box节点的主要属性是size,用来确定长度(x方向).高度(y方向)和宽度(z)方向的大小.这里是定义一个长为2,宽和高均为1的立方体. 结果如下图所示. 二.圆柱体Cylinder 代码如下: 说明:Cylinder节点的主要属性有height(高度

X3D实战基础讲座之三

在本讲中,我们将介绍如何点.线及其基本2D图形的创建和构造,其中还简单地介绍了X3D的坐标系. 一.点及点的坐标 在X3D的场景中设置物体需要有明确的坐标.在同一个场景中,有一个统一的坐标系.这个坐标系是一个右手坐标系,在初始时(即观察者没有移动位置和改变视角),该坐标系的X轴为沿屏幕水平向右,Y轴为沿屏幕垂直向上,Z轴为从屏幕指向用户. 在X3D中,点的坐标是(x, y, z),坐标的单位是逻辑单位,即是X3D的VRML单位,由于它所显示的图形是按比例进行的,因此你可以把单位当成mm.在指定坐