站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题X3D实战基础讲座之七

X3D实战基础讲座之七

摘要: 在X3D场景空间中,可以使用点光源节点、平行光源节点和聚光性光源节点来处理造型物体的光照明亮程度
<table width="570" border="0" cellspacing="0" cellpadding="5" bgcolor="FBE392"> <tr> <td> <table width="570" border="0" cellspacing="0" cellpadding="5"> <tr> <td bgcolor="E1B004" width="200" align="center">天极IT资讯短信服务 电脑小技巧
<table width="100%" border="0" cellspacing="0" cellpadding="3" bgcolor="fffcc0"> function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } <form name=dn action="http://www.my5757.com/tj/join.jsp" target=_blank onSubmit="return check4()"> <tr valign=middle> <td>资费:包月5元
手机: <input type=text name=mobile size=11 style="border:1px solid #000000;height=16px"> <input type=image src="http://www.my5757.com/yesky/images/d34.gif" border="0" width="45" height="18" align="middle" name="image2" > </td> </tr> <input type=hidden name=stype value="yjq"> </form> </table> </td> <td width="370" bgcolor="FBC403">介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 </td> </tr> </table> </td> </tr> </table>

  第七讲 光源处理

  在X3D场景空间中,可以使用点光源节点(PointLight)、平行光源节点(DirectionalLight)和聚光性光源节点(SpotLight)来处理造型物体的光照明亮程度。

  本讲就来介绍这三个节点的属性及其使用方法。

<iframe width="360" height="300" align="CENTER"scrolling="No" frameborder="0" marginheight="0" marginwidth="0" SRC="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html"></iframe>

  一、 点光源节点(PointLight)

  PointLight 是一个点光源,它向所有的方向发射光线。光线照亮所有的几何对象,也不会被几何形体遮挡而形成阴影。其主要属性如下表所示:

<table cellSpacing=0 width="100%" border=1> <tr> <td width="17%">属性</td> <td width="16%">含义</td> <td width="8%">默认值</td> <td width="59%">使用说明</td></tr> <tr> <td width="17%" height=19>on </td> <td width="16%" height=19>光源是否开关</td> <td width="8%" height=19>True</td> <td width="59%" height=19>为True时打开光源,为False时关闭光源</td></tr> <tr> <td width="17%">color</td> <td width="16%">光的颜色</td> <td width="8%">1 1 1 </td> <td width="59%">指定光的颜色,它会影响对象的实际颜色显示效果</td></tr> <tr> <td width="17%">location</td> <td width="16%">光源所在的位置</td> <td width="8%">0 0 0 </td> <td width="59%">光源的位置影响光的强弱</td></tr> <tr> <td width="17%">intensity </td> <td width="16%">灯光的亮度</td> <td width="8%">1 </td> <td width="59%">取值范围为0~1</td></tr> <tr> <td width="17%">ambientIntensity</td> <td width="16%">对环境光影响程度</td> <td width="8%">0 </td> <td width="59%">取值范围为0~1,它的值越大,对环境光影响也越大</td></tr> <tr> <td width="17%">radius </td> <td width="16%">光源影响半径</td> <td width="8%">100 </td> <td width="59%">以光源为中心的灯光效果的最大半径</td></tr> <tr> <td width="17%">attenuation</td> <td width="16%">光线衰减参数</td> <td width="8%">1 0 0</td> <td width="59%">由三个值构成:第1个值控制光源在照明球体中亮度的一致程度,第2个值控制随着距离的增加,光线的线性衰减程度,最后1个值是控制随着距离的增加,光线的线性平方衰减程度。</td></tr></table>

  简单的示例代码如下:



  说明:我们先在点光源位置处构造一个与光源颜色相同的小球,然后在(3,0,0)处构造一个圆柱体。结果如下图所示,注意圆柱体的颜色。



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



  结果如下图所示:


zmbbs=1;



↑返回目录
前一篇: 如何让JBuilder9支持Struts 1.1
后一篇: Java Servlet 编程及应用之八