JavaFX(yz)中PolygonMesh的渲染问题

Rendering problem with PolygonMesh in JavaFX(yz)

提问人:ttthodd 提问时间:11/18/2023 更新时间:11/18/2023 访问量:29

问:

我目前正在编写一个程序,在该程序中,我读取了各种3D网格并继续使用它们。网格通常包含三角形和四边形。因此,我想使用 JavaFX(yz)3D 中的 PolygonMesh,这样就不必将四边形分成两个三角形,并且可以在 GUI 中直接看到三角形和四边形的位置。 现在我尝试了一些简单的例子,遇到了一个我在互联网上任何地方都找不到的问题。

Java 没有为我干净地渲染 PolygonMesh。在每个创建的表面的每个边缘上都会出现一个小三角形,它似乎不属于那里。该现象仅发生在 DrawMode.LINE 中(下面是问题的屏幕截图)。代码完全来自这个问题下的答案(没有纹理): 在 javafx 中向场景添加多个三角形网格时出现问题

文本中提到的站点中渲染的线框放大到一个前边缘

我是否遗漏了一些基本的东西?

即使使用单个渲染曲面,也会出现这种现象。这是一个已知的错误还是我能做什么?

Java JavaFX 渲染 网格 FXYZ3D

评论

2赞 José Pereda 11/18/2023
从你提到的答案来看:.对于每条最终边,都使用一个非常长且很窄的三角形来创建线条的可见效果,因此内部三角形网格是这些三角形的集合。但是,如果你放大到足够接近顶点的位置,你确实可以看到真正的三角形。如果检查代码,则这是用于定义三角形的微小偏移量。Under the hood, the Polygon mesh uses a triangle mesh, and internally converts the polygons you provide to triangles.
0赞 ttthodd 11/19/2023
谢谢你的回答。那么,我是对的,因为javafx不可能以干净的方式在3D子场景中渲染具有四条或更多条边的多边形?这有点令人失望,但似乎无法改变:(

答: 暂无答案