JavaFX 3D部分介绍(3) Lights

  声明:   本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com


  这一节当中,我们将会讲解JavaFX 3D API中的灯光。


  在JavaFX中,Light灯光也是被定义为一个Node节点。当场景里活动的灯光为空时,将会提供一个默认的灯光。


  每一个Light灯光都包含一系列被灯光影响的节点集合。如果这个节点集合为空,那么场景中的所有节点将会受灯光

影响。当然,如果节点集合中包含了父节点,那么这个父节点的所有子节点将同样受灯光影响。


 LightShape3D物体相互作用,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

原文地址:https://www.cnblogs.com/riskyer/p/3359791.html