JavaFX 3D部分介绍(3) Lights
2015-12-14 10:41
483 查看
这一节当中,我们将会讲解JavaFX 3D API中的灯光。
在JavaFX中,Light灯光也是被定义为一个Node节点。当场景里活动的灯光为空时,将会提供一个默认的灯光。
每一个Light灯光都包含一系列被灯光影响的节点集合。如果这个节点集合为空,那么场景中的所有节点将会受灯光
影响。当然,如果节点集合中包含了父节点,那么这个父节点的所有子节点将同样受灯光影响。
Light与Shape3D物体相互作用,3D物体的材质将会影响渲染结果。目前,JavaFX中提供两种灯光源。
1.AmbientLight 环境光
2.PointLight 点光源
[java] view
plaincopy
javafx.scene.Node
javafx.scene.LightBase (abstract)
javafx.scene.AmbientLight
javafx.scene.PointLight
创建一个点光源,并设置颜色:
[java] view
plaincopy
PointLight light = new PointLight();
light.setColor(Color.RED);
添加灯光到场景:
[java] view
plaincopy
Group lightGroup = new Group();
lightGroup.getChildren().add(light);
root.getChildren().add(lightGroup);
旋转灯光45度:
[java] view
plaincopy
light.rotate(45);
移动lightGroup来使灯光移动:
[java] view
plaincopy
lightGroup.setTranslateZ(-75);
以上是JavaFX 3D API中提供的灯光相关的内容。其实虽然在JDK 8中正式添加了Java3D API,但其实提供的功能并不是很多,只能说满足最最基本的3D应用。要用来做3D游戏之类的,恐怕还是远远不够的。
这一节就到这了。
在JavaFX中,Light灯光也是被定义为一个Node节点。当场景里活动的灯光为空时,将会提供一个默认的灯光。
每一个Light灯光都包含一系列被灯光影响的节点集合。如果这个节点集合为空,那么场景中的所有节点将会受灯光
影响。当然,如果节点集合中包含了父节点,那么这个父节点的所有子节点将同样受灯光影响。
Light与Shape3D物体相互作用,3D物体的材质将会影响渲染结果。目前,JavaFX中提供两种灯光源。
1.AmbientLight 环境光
2.PointLight 点光源
[java] view
plaincopy
javafx.scene.Node
javafx.scene.LightBase (abstract)
javafx.scene.AmbientLight
javafx.scene.PointLight
创建一个点光源,并设置颜色:
[java] view
plaincopy
PointLight light = new PointLight();
light.setColor(Color.RED);
添加灯光到场景:
[java] view
plaincopy
Group lightGroup = new Group();
lightGroup.getChildren().add(light);
root.getChildren().add(lightGroup);
旋转灯光45度:
[java] view
plaincopy
light.rotate(45);
移动lightGroup来使灯光移动:
[java] view
plaincopy
lightGroup.setTranslateZ(-75);
以上是JavaFX 3D API中提供的灯光相关的内容。其实虽然在JDK 8中正式添加了Java3D API,但其实提供的功能并不是很多,只能说满足最最基本的3D应用。要用来做3D游戏之类的,恐怕还是远远不够的。
这一节就到这了。
相关文章推荐
- SpringMVC 项目配置文件加载过程分析(spring4.1.4)
- java语言国际化--ResouceBundle、struts
- JavaFX 3D部分介绍(4) Materials
- 浅谈JavaFX事件机制
- JavaFX之ListView的使用
- Java 7之基础 - 强引用、弱引用、软引用、虚引用
- JavaFX中的资源载入
- Java安全(JCA/JSSE):对称加密
- JavaFX 简单3D示例
- Java安全(JCA(Java Cryptography Architecture)/JSSE(Java Secure Socket Extension)):基本知识
- struts2 中的 result 返回类型是 json 的配置问题
- 学习Java正则表达式(匹配、替换、查找)
- maven debug时,第三方jar包 source not found
- Ibatis:There is no READABLE property named 'member_id' in class 'java.lang.String'
- JavaFX 指定路径的球
- 深入浅析Java中的final关键字
- JavaFX 之弹跳球
- loadrunner 调用webservice 抛出 Internal error,please call customer support.Details:class java.lang.Objec
- JavaFX在Eclipse 中画图应用效果
- 《java多线程编程核心技术》之并发访问