JavaFX 中的 3D 多边形

问题描述 投票:0回答:4

JavaFX中有3D多边形吗(类似于Java3D中的QuadArray)?
如果没有,创建一个最简单的方法是什么?创建两个三角形?
如果没有简单的方法,我应该使用第三方 3D 库吗?但这首先就打败了使用 JavaFX 的想法。

我希望能够在面、线模式和仅顶点模式之间切换。

javafx 3d polygon
4个回答
2
投票

2024 年更新

整个原始答案及其中的技术已经过时。

JavaFX 在十多年前添加了 3D 支持,在这个答案创建之后。链接的教程演示了 JavaFX 中的 3D 多边形显示。

第三方库(例如 FXyz)为核心 JavaFX 库中的 3D 支持添加了额外的功能。

如果 JavaFX 中的核心 3D 支持不够,可以与 jogl 集成

2013 年初的原始答案

JavaFX 2.x 中的 3D 非常有限。

您可以通过创建 2D 多边形并对其执行变换来创建 3D 多边形。

Ensemble 应用程序中有一些 3D 示例 演示了如何执行此操作(带有源代码)。这里有一个简单的立方体示例

使用 JavaFX 2.x,您可以轻松实现面视图、线框视图和仅顶点视图之间的切换。其他诸如复杂的光照、效果、网格加载、真实着色等会更加困难,并且在 JavaFX 8 中会更好地实现。

JavaFX 8 将拥有更加强大和有用的 3D 实现。您应该根据您的需求和其他 3D 库(例如 lwjgl)评估 Ensemble 中当前 JavaFX 3D 演示的功能以及建议的 JavaFX 8 3D 功能集,以确定最适合您的需求。请注意,JavaFX 8 计划在 2013 年 9 月之前最终发布。随着时间的推移,建议的 JavaFX 8 3D 功能将添加到 Java 8 预发行版中。

我确实为 JavaFX

ImageView
创建了一个简单的 3D 软件渲染器,如果感兴趣的话我可能会将其开源 - 它将位图渲染到
ImageView
上 - 而不是直接渲染到 JavaFX 场景图基元。 Interactive Mesh 创建了类似的东西,但通过 Java3D API 使用硬件渲染器。与 JavaFX 8 不同,它的优点是立即可用。


0
投票

JavaFX 2 与低级 3D API 的主要 Java 绑定集(JogAmp 及其被jewelsea 引用的主要竞争对手)之间的互操作性已经部分实现。准备就绪后,您将能够使用最新版本的 Java3D(1.6.0,安装说明位于此处)或任何支持 JOGL 2.0 的场景图,包括 Ardor3D、JMonkeyEngine 3、Xith3D...已经有一些应用程序在同一窗口中混合 JOGL 2 和 JavaFX,但不在同一面板中,例如 Energy3D。


0
投票

JavaFX 2 中的实验性 3D 形状可在 google code 的 jfx3D 项目中找到,另请参阅我的博客designjk

吉姆·凯 [jimbo8]


0
投票

https://wikis.oracle.com/display/OpenJDK/3D+Features

JavaFX 8 包含完整的 3D 库。我目前正在使用它,但它可能有错误+它甚至还没有完全准备好进行开发,甚至还没有接近全面发布。

© www.soinside.com 2019 - 2024. All rights reserved.