声明: 本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: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。
分享到:
相关推荐
本文将介绍JavaFX中3D图形的创建与操作的基础知识。 1. JavaFX概述: JavaFX是一种用于创建富互联网应用程序(RIA)的Java库,提供了一种新的方式来构建图形用户界面,以替代较为老旧的Swing和AWT。JavaFX以Java...
在JavaFX中,开发者可以利用其3D功能来构建具有复杂视觉效果的应用,如本例中的“javaFX 3D小例子”,它是一个使用JavaFX 3D API实现的水分子模拟结构的Idea工程。 首先,我们要理解JavaFX 3D API的核心概念。...
4. **视口与相机**:在JavaFX的3D场景中,视口定义了用户可见的3D空间部分,而相机则决定了如何从特定角度观察这个空间。`PerspectiveCamera`是常用的3D相机类型,它提供了类似人类视觉的透视效果。 5. **场景与...
JavaFX 3D可视化和组件库 如何建造 该项目由gradle管理。 要构建,请键入 ./gradlew assemble 要将其部署到本地Maven存储库,请输入: ./gradlew publishToMavenLocal FXyz3D Core的使用 FXyz3D具有许多不同的3D...
- 还可能有对`Scene`和`Group`的设置,以展示3D对象并设置相机为场景的一部分。 6. **学习资源**: - Oracle官方文档提供了关于JavaFX 3D的详细教程和API参考。 - 开源社区如GitHub上有许多示例项目,可以帮助...
FXyzLib, JavaFX 3D 可视化和组件库 FXyzJavaFX 3D 可视化和组件库这是原始的F ( X ) 项目,JavaFX库提供额外的原语。复合对象。控件和数据可视化,基本 JavaFX 3D 包不具有这些特性。 2016的新开发已经移至专用项目...
SpringBoot3 整合JavaFx + MyBatisPlus
4. **视图和相机**:在 JavaFX 3D 中,视图是由`Camera`类控制的,它决定了观察者看到的场景部分。` PerspectiveCamera` 是默认的相机类型,提供透视效果,而` OrthographicCamera` 则用于创建正交视图,适合制图和2...
JavaFX起步 基础部分 是html格式
2. **3DViewer**:此示例展示了JavaFX在3D图形处理上的实力。JavaFX提供了一个强大的Scene3D类,可以创建3D场景并添加各种3D对象。开发者可以通过旋转、缩放和平移视角来互动操作,这在创建3D模型查看器或者游戏等...
javafx
它是Java平台的一部分,提供了一系列高级特性,包括2D和3D图形处理、媒体支持、CSS样式以及强大的数据绑定机制。本JavaFX Demo模板案例将帮助我们了解如何使用JavaFX构建一个简单的应用程序。 首先,JavaFX提供了...
JavaFX SDK 11.0.2 是一个用于开发富客户端应用程序的工具包,它在Java 11及更高版本中不再作为标准JDK的一部分。这个独立的SDK提供了必要的库和工具,使得开发者能够在Java平台上构建具有丰富图形用户界面(GUI)的...
3. 图像、动画、媒体和网络:书中将介绍如何在JavaFX应用中使用这些多媒体元素,以及如何将它们与网络功能结合。 4. 高级主题:包括FXML、图表、自定义控件、JavaFX 3D、手势设备和嵌入式系统。这些主题覆盖了...
3. **JavaFX Graphics**: 提供了2D和3D图形绘制的接口和类,支持图形渲染、几何形状、颜色管理等功能。`javafx.graphics.jar`是这个模块的实现,用于创建富有视觉效果的应用程序。 4. **JavaFX Media**: 用于处理...
4. **跨平台兼容**:作为Java的一部分,JavaFX可以运行在任何支持Java的平台上,包括Windows、MacOS、Linux以及各种移动和嵌入式设备。 5. **FXML**:FXML是JavaFX的一种声明式语言,用于构建用户界面。它将界面...
3. **JavaFX的控件**: JavaFX提供了一系列内置控件,如Button、Label、TextField、TableView等,覆盖了常见的用户交互需求。这些控件可以通过JavaFX的API进行自定义,以满足特定的设计和功能需求。 4. **2D和3D...
7. **2D和3D图形**: JavaFX提供了强大的2D和3D图形渲染能力,可以直接在Java代码中绘制复杂的图形和动画。 8. **媒体支持**: 内置的媒体API使得JavaFX能够播放音频和视频,这对于创建多媒体应用非常有用。 9. **跨...
6. **3D支持**:JavaFX还提供了3D图形支持,可以创建具有深度和视角的三维场景,进一步丰富了界面设计的可能性。 7. **跨平台兼容性**:JavaFX应用程序可以在多种操作系统上运行,包括Windows、Mac OS X和Linux,...
3. JavaFX Graphics:JavaFX 的图形编程接口,用于开发 JavaFX 应用程序的图形用户界面。 JavaFX 的优点包括: 1. 跨平台性:JavaFX 应用程序可以在多种操作系统上运行。 2. 轻量级:JavaFX 应用程序可以在各种...