JavaFX中有3D多边形吗(类似于Java3D中的QuadArray)?
如果没有,创建一个最简单的方法是什么?创建两个三角形?
如果没有简单的方法,我应该使用第三方 3D 库吗?但这首先就打败了使用 JavaFX 的想法。
我希望能够在面、线模式和仅顶点模式之间切换。
整个原始答案及其中的技术已经过时。
JavaFX 在十多年前添加了 3D 支持,在这个答案创建之后。链接的教程演示了 JavaFX 中的 3D 多边形显示。
第三方库(例如 FXyz)为核心 JavaFX 库中的 3D 支持添加了额外的功能。
如果 JavaFX 中的核心 3D 支持不够,可以与 jogl 集成。
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 不同,它的优点是立即可用。
JavaFX 2 中的实验性 3D 形状可在 google code 的 jfx3D 项目中找到,另请参阅我的博客designjk。
吉姆·凯 [jimbo8]
https://wikis.oracle.com/display/OpenJDK/3D+Features
JavaFX 8 包含完整的 3D 库。我目前正在使用它,但它可能有错误+它甚至还没有完全准备好进行开发,甚至还没有接近全面发布。