java - 如何在 JavaFX 3D 中制作 vector 图形样式线?

标签 java javafx 3d java-8 javafx-3d

为了概述我的总体目标,我想显示一组世界政治边界(国家)和可以像谷歌地球一样缩放和平移的状态。我的数据集足够详细,有大约 1,200,000 个纬度/经度点来定义我想要显示的边界。我正在探索使用 JavaFX 3D 来利用硬件图形加速。

这样做我获得了可接受的性能,但我遇到了 javafx.scene.shape.Polyline 呈现方式的问题。当我尝试在 360x200 单位 2d 平面周围的场景图中绘制表示我的世界政治边界的折线时,当我放大时它会严重像素化,就好像该线是低分辨率图像一样。

我真正想要的是无论我离线对象有多近或多远,线在屏幕上都呈现为恒定的“宽度”。我可能使用了错误的形状对象,但其他对象显然不适合我想要做的事情。我也试过 'Path/LineTo' 结果相同。

F(X)yz看起来很有希望,但我希望避免使用第三方库。

过去我用过原来的java3d并且不记得有这个问题。其中我使用了 LineArray。

对于如何使用 JavaFX 3D (java 1.8) 绘制看起来相同的线/射线/vector ,无论您离它有多“近/远”,您有什么建议吗,或者 F(X)yz 我的最好的选择?渲染设置提示?

最佳答案

我问了一个similar question前一段时间,由于 JavaFX 缺少 3D 组件,我担心 F(X)yz 仍然是最好的方法。

在您的特定情况下,PolyLine3D 就是您想要的。它使用引擎盖下的 GridView 在 3D 环境中启用硬件加速。另一种方法是自己对边界进行三角测量并使用 TriangleMesh。由于您希望线宽保持相同大小,因此每次缩放 map 时都必须这样做。

关于java - 如何在 JavaFX 3D 中制作 vector 图形样式线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33405363/

相关文章:

c++ - 网格三角测量 : Seperate vs Nested loop Complexity

java - 我可以在 Spring Cloud Config Server 中托管 JSON 文件吗?

java - 如何同时响应两个不同的 KeyEvents?

java - 不同级别的logback不同文件

java - 当编辑文本的长度增加时,scrollView之外的listView项目在android中消失?

java - 如何动态初始化 JavaFX 应用程序,而不是硬编码?

javascript - 3d 法线贴图在 Three.js 中无法正常工作

ios - 如何在 Scene Kit 的 3D SCNNode 中添加 2D View

java - 如何在java程序中从不可运行的JAR调用类?

java - JFoenix 是否有等效的 CheckBoxListCell,以便我们可以使用 JFXCheckBox 而不是传统的?