`

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

分享到:
评论

相关推荐

    Getting Started with JavaFX 3D Graphics

    本文将介绍JavaFX中3D图形的创建与操作的基础知识。 1. JavaFX概述: JavaFX是一种用于创建富互联网应用程序(RIA)的Java库,提供了一种新的方式来构建图形用户界面,以替代较为老旧的Swing和AWT。JavaFX以Java...

    javaFX 3D小例子

    在JavaFX中,开发者可以利用其3D功能来构建具有复杂视觉效果的应用,如本例中的“javaFX 3D小例子”,它是一个使用JavaFX 3D API实现的水分子模拟结构的Idea工程。 首先,我们要理解JavaFX 3D API的核心概念。...

    3D-JavaFX-Tutoriales.zip

    4. **视口与相机**:在JavaFX的3D场景中,视口定义了用户可见的3D空间部分,而相机则决定了如何从特定角度观察这个空间。`PerspectiveCamera`是常用的3D相机类型,它提供了类似人类视觉的透视效果。 5. **场景与...

    FXyz:JavaFX 3D可视化和组件库

    JavaFX 3D可视化和组件库 如何建造 该项目由gradle管理。 要构建,请键入 ./gradlew assemble 要将其部署到本地Maven存储库,请输入: ./gradlew publishToMavenLocal FXyz3D Core的使用 FXyz3D具有许多不同的3D...

    JavaFX3D-ManeuvringACamera:演示在JavaFX 3D中操纵相机的方法的应用程序

    - 还可能有对`Scene`和`Group`的设置,以展示3D对象并设置相机为场景的一部分。 6. **学习资源**: - Oracle官方文档提供了关于JavaFX 3D的详细教程和API参考。 - 开源社区如GitHub上有许多示例项目,可以帮助...

    FXyzLib, JavaFX 3D 可视化和组件库.zip

    FXyzLib, JavaFX 3D 可视化和组件库 FXyzJavaFX 3D 可视化和组件库这是原始的F ( X ) 项目,JavaFX库提供额外的原语。复合对象。控件和数据可视化,基本 JavaFX 3D 包不具有这些特性。 2016的新开发已经移至专用项目...

    SpringBoot3 整合JavaFx + MyBatisPlus

    SpringBoot3 整合JavaFx + MyBatisPlus

    explore-javaFX-3D:探索 JavaFX 3D

    4. **视图和相机**:在 JavaFX 3D 中,视图是由`Camera`类控制的,它决定了观察者看到的场景部分。` PerspectiveCamera` 是默认的相机类型,提供透视效果,而` OrthographicCamera` 则用于创建正交视图,适合制图和2...

    JavaFX起步,基础部分

    JavaFX起步 基础部分 是html格式

    JavaFx 官方源码例子

    2. **3DViewer**:此示例展示了JavaFX在3D图形处理上的实力。JavaFX提供了一个强大的Scene3D类,可以创建3D场景并添加各种3D对象。开发者可以通过旋转、缩放和平移视角来互动操作,这在创建3D模型查看器或者游戏等...

    javafx javafx javafx javafx

    javafx

    javaFX Demo 模板案例

    它是Java平台的一部分,提供了一系列高级特性,包括2D和3D图形处理、媒体支持、CSS样式以及强大的数据绑定机制。本JavaFX Demo模板案例将帮助我们了解如何使用JavaFX构建一个简单的应用程序。 首先,JavaFX提供了...

    javafx-sdk-11.0.2

    JavaFX SDK 11.0.2 是一个用于开发富客户端应用程序的工具包,它在Java 11及更高版本中不再作为标准JDK的一部分。这个独立的SDK提供了必要的库和工具,使得开发者能够在Java平台上构建具有丰富图形用户界面(GUI)的...

    JavaFX 8 Introduction by Example - 2nd Edition

    3. 图像、动画、媒体和网络:书中将介绍如何在JavaFX应用中使用这些多媒体元素,以及如何将它们与网络功能结合。 4. 高级主题:包括FXML、图表、自定义控件、JavaFX 3D、手势设备和嵌入式系统。这些主题覆盖了...

    javafx-11.0.2 jar.rar

    3. **JavaFX Graphics**: 提供了2D和3D图形绘制的接口和类,支持图形渲染、几何形状、颜色管理等功能。`javafx.graphics.jar`是这个模块的实现,用于创建富有视觉效果的应用程序。 4. **JavaFX Media**: 用于处理...

    JavaFX官方教程(中文版)

    4. **跨平台兼容**:作为Java的一部分,JavaFX可以运行在任何支持Java的平台上,包括Windows、MacOS、Linux以及各种移动和嵌入式设备。 5. **FXML**:FXML是JavaFX的一种声明式语言,用于构建用户界面。它将界面...

    《JavaFX Essentials》 源码

    3. **JavaFX的控件**: JavaFX提供了一系列内置控件,如Button、Label、TextField、TableView等,覆盖了常见的用户交互需求。这些控件可以通过JavaFX的API进行自定义,以满足特定的设计和功能需求。 4. **2D和3D...

    JavaFx电子书HTML格式

    7. **2D和3D图形**: JavaFX提供了强大的2D和3D图形渲染能力,可以直接在Java代码中绘制复杂的图形和动画。 8. **媒体支持**: 内置的媒体API使得JavaFX能够播放音频和视频,这对于创建多媒体应用非常有用。 9. **跨...

    javafx实现好看的界面

    6. **3D支持**:JavaFX还提供了3D图形支持,可以创建具有深度和视角的三维场景,进一步丰富了界面设计的可能性。 7. **跨平台兼容性**:JavaFX应用程序可以在多种操作系统上运行,包括Windows、Mac OS X和Linux,...

    javafx使用指南-目录版.pdf

    3. JavaFX Graphics:JavaFX 的图形编程接口,用于开发 JavaFX 应用程序的图形用户界面。 JavaFX 的优点包括: 1. 跨平台性:JavaFX 应用程序可以在多种操作系统上运行。 2. 轻量级:JavaFX 应用程序可以在各种...

Global site tag (gtag.js) - Google Analytics