在javafx中将纹理应用于网格

2023-12-12

我在使用 JavaFX 和 FXyz 0.1.1 将纹理应用到网格时遇到问题。

I found 这个问题即使有详细的答案也无法弄清楚。我从头开始,准确地复制答案中的代码,场景是黑色的,没有可见的二十面体。

我使用的是 Java 8。提供的图像是 gif,代码将其引用为 png。我已经尝试过该文件的 png 和 gif 版本。据我所知,其他所有内容都与所引用问题的答案中的代码完全相同。

我能跑this和纹理该球体没有问题,但我希望能够使用二十面体而不是球体。


如果您使用的是 FXyzlibrary您可以非常轻松地将不同的纹理应用于二十面体或您可以在library.

此片段显示了 5 种不同的纹理模式:

@Override
public void start(Stage primaryStage) {
    PerspectiveCamera camera = new PerspectiveCamera(true);   
    camera.setTranslateY(3);
    camera.setTranslateX(4);
    camera.setTranslateZ(-15);

    IcosahedronMesh icoLine = new IcosahedronMesh(100, 0);
    icoLine.setDrawMode(DrawMode.LINE);
    icoLine.getTransforms().addAll(new Rotate(10, Rotate.X_AXIS), new Rotate(-20, Rotate.Y_AXIS));

    IcosahedronMesh icoColor = new IcosahedronMesh(100, 0);
    icoColor.setTextureModeNone(Color.LIGHTGREEN);
    icoColor.getTransforms().addAll(new Rotate(20, Rotate.X_AXIS), new Rotate(-20, Rotate.Y_AXIS));

    IcosahedronMesh icoFunction = new IcosahedronMesh(100, 0);
    icoFunction.setTextureModeVertices3D(1530, p -> Math.cos(p.z));
    icoFunction.getTransforms().addAll(new Rotate(30, Rotate.X_AXIS), new Rotate(-20, Rotate.Y_AXIS));

    IcosahedronMesh icoFaces = new IcosahedronMesh(100, 0);
    icoFaces.setTextureModeFaces(5);
    icoFaces.getTransforms().addAll(new Rotate(20, Rotate.X_AXIS), new Rotate(-10, Rotate.Y_AXIS));

    IcosahedronMesh icoImage = new IcosahedronMesh(100, 0);
    icoImage.setTextureModeImage(getClass().getResource("icon.jpg").toExternalForm());
    icoImage.getTransforms().addAll(new Rotate(20, Rotate.X_AXIS), new Rotate(-20, Rotate.Y_AXIS));

    IcosahedronMesh icoPattern = new IcosahedronMesh(100, 0);
    icoPattern.setTextureModePattern(Patterns.CarbonPatterns.CARBON_KEVLAR, 100);
    icoPattern.getTransforms().addAll(new Rotate(20, Rotate.X_AXIS), new Rotate(-30, Rotate.Y_AXIS));


    GridPane grid = new GridPane();
    grid.add(new Group(icoLine), 0, 0);
    grid.add(new Group(icoColor), 1, 0);
    grid.add(new Group(icoFunction), 2, 0);

    grid.add(new Group(icoFaces), 0, 1);
    grid.add(new Group(icoImage), 1, 1);
    grid.add(new Group(icoPattern), 2, 1);
    Scene scene = new Scene(grid, 600, 400, true, SceneAntialiasing.BALANCED);
    scene.setCamera(camera);

    primaryStage.setScene(scene);
    primaryStage.setTitle(("Icosahedron - FXyz3D"));
    primaryStage.show(); 

}

Icosahedra Textures

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在javafx中将纹理应用于网格 的相关文章

随机推荐

  • 异步串口读取的正确实现

    我在这里阅读了一些建议使用的帖子port BaseStream ReadAsync 与等待异步 等待 我不清楚实施此操作的最佳方法是什么 我是否仍然使用 event handler 并将其设为异步 可等待 private async voi
  • 无法导入为空值 SQL Server 2008 TSV 文件

    我使用 SQL Server 2008 从 TSV 文件导入数据 导入后确认带有整数列的表时 null 被 0 替换 如何导入为空 请帮助我 Using bcp k 开关 Using 批量插入 使用 KEEPNULLS 评论后 使用 SSI
  • 如何在 C# 中检索磁盘信息?

    我想使用 C 访问计算机上逻辑驱动器的信息 我应该如何实现这个目标 谢谢 对于大多数信息 您可以使用驱动器信息 class using System using System IO class Info public static void
  • xslt 条件增量

    我在某些条件下增加计数器时遇到问题 Input
  • 如何在oracle中创建表作为选择(CTAS)?

    我需要使用CTAS Create Table As Select 创建一个名为Au Books ZL其中包含au id fname lname title id title Pub id price and revenue which is
  • 为什么 LocalizedStringKey 的行为取决于我是否将字符串插值传递给其初始化程序?

    在试图回答的同时这个问题 我发现了一个奇怪的行为 Text LocalizedStringKey Hello Image systemName globe 显示一个地球仪 但是 Text LocalizedStringKey Hello w
  • 如何使用 Firebase 托管 Web 应用程序获取没有 CORS 标头的外部数据?

    我的 Ionic2 应用程序托管在 Firebase 上 我需要的是从 API 服务获取外部数据 请求中不存在 Access Control Allow Origin 标头 资源 我可以通过使用代理在本地解决这个问题ionic config
  • 在 Node.js 中存储敏感凭证的最佳方式是什么?

    几天前我开始学习 Node js 我面临着一个关于数据库凭据和Gmail连接 最后一个是需要的nodemailer 我基本上创建了一个这样的文件 const config development url 127 0 0 1 database
  • 有没有办法更改 chrome 扩展弹出窗口的位置/位置?

    我正在尝试开发一个 chrome 扩展 我想知道是否有办法更改 chrome 扩展弹出窗口的位置以及是否可以将其设为粘性元素 例如 名为Equatio 显示一个类似粘性的弹出窗口 当单击其图标时 该弹出窗口保留在用户屏幕的底部 我也希望能够
  • 我能保证在 mysql 中使用单个插入语句获得连续的 id 吗?

    我使用单个 INSERT 查询插入 1000 行 查询返回第一个插入行的 id 假设所有其他行都有 id 是否可以保存firstId i考虑到可能有多个插入查询同时运行 或许 通常是的 但在很多情况下这是不可靠的 MySQL JDBC 驱动
  • 为什么需要内存屏障?

    C 4 in a Nutshell 强烈推荐 使用以下代码来演示 MemoryBarrier 的概念 假设 A 和 B 在不同的线程上运行 class Foo int answer bool complete void A answer 1
  • Matlab 图形绘制 - 带标签的图例和曲线

    如何绘制如下图所示的图形 这里 图例 绿色 蓝色 在每条曲线上绘制了一些值 0 10 到 0 40 有没有可能的解决方案或提示来做到这一点 图参考 可以使用以下命令在行内绘制数据标签clabel 轮廓标签 尽管这要求您使用contour命令
  • 热通过cmd禁用buildnumber-maven-plugin

    我对 Maven 有疑问 如何通过命令行选项禁用 buildnumber maven plugin 我想在我们的持续集成服务器上运行 mvn test 命令 但是这个命令失败了 因为它试图构建一个版本并且没有访问我们的 vcs 的权限 在标
  • 用Java解析包含JS的HTML页面

    我正在尝试解析一个包含一些 JS 的网页 到目前为止我正在使用Jsoup在Java中解析html 它按预期工作 但我无法解析 JavaScript 下面是 HTML 页面的片段
  • grok 多条消息并用不同的标签处理它们

    我想在 Logstash 版本 2 4 中创建一个过滤器 在同一个 grok 中使用不同的匹配项 我想根据比赛添加不同的标签 基本上 我收到三种不同的消息模式 MAGIC 消息 REAL 消息 信息 我想做的是 grok match gt
  • 一个不错的 Java XML DOM 实用程序

    我发现自己一次又一次地编写同样冗长的 DOM 操作代码 Element e1 document createElement some name e1 setAttribute attr1 val1 e2 setAttribute attr2
  • 表格固定标题和可滚动正文

    我正在尝试使用 bootstrap 3 表制作一个具有固定标题和可滚动内容的表格 不幸的是 我发现的解决方案不适用于引导程序或搞乱风格 这里有一个简单的引导表 但由于某种原因我不知道 tbody 的高度不是 10px height 10px
  • ASP.NET 中的 XML POST 和解析

    如果有人将 XML 从应用程序发布到我的 ASP NET 页面 我如何解析它并以 XML 格式返回响应 将 XML 发布到我的 URL 的示例客户端代码 WebRequest req null WebResponse rsp null st
  • 升级 Android 项目中的领域

    我目前正在我的 Android 项目之一中运行 Realm 版本 0 82 0 我已经有一段时间没有接触 Realm 了 直到最近我注意到它们同时升级到了 2 0 2 版本 我想升级我的 Realm 版本 不幸的是 我不知道从旧版本升级到当
  • 在javafx中将纹理应用于网格

    我在使用 JavaFX 和 FXyz 0 1 1 将纹理应用到网格时遇到问题 I found 这个问题即使有详细的答案也无法弄清楚 我从头开始 准确地复制答案中的代码 场景是黑色的 没有可见的二十面体 我使用的是 Java 8 提供的图像是