JavaFX 3D部分介绍(3) Lights
声明: 本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com。
这一节当中,我们将会讲解JavaFX 3D API中的灯光。
在JavaFX中,Light灯光也是被定义为一个Node节点。当场景里活动的灯光为空时,将会提供一个默认的灯光。
每一个Light灯光都包含一系列被灯光影响的节点集合。如果这个节点集合为空,那么场景中的所有节点将会受灯光
影响。当然,如果节点集合中包含了父节点,那么这个父节点的所有子节点将同样受灯光影响。
Light与Shape3D物体相互作用,3D物体的材质将会影响渲染结果。目前,JavaFX中提供两种灯光源。
1.AmbientLight 环境光
2.PointLight 点光源
javafx.scene.Node javafx.scene.LightBase (abstract) javafx.scene.AmbientLight javafx.scene.PointLight
创建一个点光源,并设置颜色:
PointLight light = new PointLight(); light.setColor(Color.RED);
添加灯光到场景:
Group lightGroup = new Group(); lightGroup.getChildren().add(light); root.getChildren().add(lightGroup);
旋转灯光45度:
light.rotate(45);
移动lightGroup来使灯光移动:
lightGroup.setTranslateZ(-75);
以上是JavaFX 3D API中提供的灯光相关的内容。其实虽然在JDK 8中正式添加了Java3D API,但其实提供的功能并不是很多,只能说满足最最基本的3D应用。要用来做3D游戏之类的,恐怕还是远远不够的。
这一节就到这了。
本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com。