栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在JavaFX中使用OpenGL?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在JavaFX中使用OpenGL?

在内部,JavaFX可以将OpenGL用作渲染管道,因此需要在两者之间进行一些集成以避免冲突。

JavaFX中的OpenGLNode

JavaFX团队负责人Richard Bair发布在openjfx开发邮件列表中:

我想看到(例如)8更新的一件事是拥有一个OpenGLNode或NativeSurfaceNode或类似的东西,这样,如果您正在执行自己的D3D / OpenGL,则可以使用一种方法将这些原始命令向下发送到图形卡,但场景图中仍然有您的节点。

因此,将来的JavaFX版本更新可能会包含OpenGLNode。直到最初的Java 8版本发布后,下一个JavaFX功能版本才可能在JavaFX一般可用性版本中包含这样的功能(我猜是在2014年9月左右发布)。

第三方OpenGL / JavaFX集成

您无需等待很长时间即可开始集成JavaFX和OpenGL。在OpenJFX存储库中打开了开始实施所需的所有源代码,因此您可以尝试使用lwjgl或jogl之类的库构建该代码的自定义集成。

随着开发人员开始将JavaFX与现有的针对OpenGL api的Java包装器进行集成,该答案将过时。一些开发人员已经开始了这样的工作-运行google搜索lwjgl javafx或jogl javafx查找有关当前集成项目及其状态的信息。

最简单的集成可能是将第3方库渲染到屏幕外缓冲区,然后根据需要将像素从缓冲区转移到JavaFX WritableImage或Canvas,以将OpenGL渲染的图形复合到JavaFX场景图中。

JavaFX 3D API替代

JavaFX拥有自己的轻量级3D API,能够将phong阴影3d模型合成到JavaFX场景图中。JavaFX 3D api不能提供完整OpenGL api集成的所有功能,但是使用JavaFX 3D api相对简单。open-jfx Wiki上有Java 8中3D功能的代码示例的描述。

Interactive Mesh为JavaFX提供了免费的3D模型导入器,使您可以非常简单地将复杂的阴影和纹理3D模型引入JavaFX场景图中。

有一个3D Viewer项目中的OpenJFX库,你可以fork创建为您提出了基于JavaFX的3D编辑器的基础。

nashorn Javascript引擎具有一个开关,可让您使用Javascript的JavaFX及其3D功能,因此,您可以根据需要使用其他jvm语言来访问JavaFX 3D功能。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号