java - 可以使用 JOGL 创建 3D 组件吗?

标签 java user-interface opengl components jogl

(系统标记这是主观的,但我不知道怎么回事,有人解释一下吗?)

无论如何,正如我的标题所问,您可以使用 JOGL 创建 3D 组件吗? 我想做的是,想象一个空的圆柱体。您将圆柱体切成两半,然后您正在查看其中的一半。 在里面,我想贴上图像……还不完全确定这将用于什么目的,但我正在玩 JOGL,通过 NEHE 教程和其他人,这个想法来 self 在我的应用程序上看到的一个应用程序电话。

我不确定这将如何工作,但我的第一个想法是它可能需要成为 JPanel 或 JFrame 的子类,以便能够轻松添加普通组件,但后来我不确定.. .

我知道我需要更加熟悉 JOGL,但这是我的圣诞小任务,但我很感激任何关于我如何(最终)做到这一点的建议,或者我是否应该把它作为一个想法并继续玩使用 API。

最佳答案

JOGL 的本质是您创建一个 Java 组件并呈现对它的 GL 调用。这需要是 GLDrawable 的实现者(如果您正在使用 Swing,通常是 GLJPanel,如果不是,则通常是 GLCanvas)。然后,您可以使用 JOGL 调用将您想要的任何 3D 场景绘制到其中,它的行为类似于适当类型的 Java 组件(有一些限制)。

您可以做的另一件事是将屏幕外的 3D 场景绘制到 GLP 缓冲区,然后将生成的位图作为组件的一部分绘制到屏幕。

关于java - 可以使用 JOGL 创建 3D 组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420463/

相关文章:

java - JPackage在创建DMG之前将文件复制到应用程序的Resource文件夹中

java - java 路径中的反斜杠替换

java - 如何创建 "modern looking"Java 桌面应用程序?

java - JOGL 校正球体中的光线和反射

c++ - OpenGL header 中的平台特定宏

java - Axis2 许可问题

java - 在 Java 中重定向子进程的 I/O(为什么 ProcessBuilder.inheritIO() 不起作用?)

user-interface - 如何在 flutter 的标签栏后面添加阴影?

javascript - 在 Javascript 中禁用文本字段自动对焦

c++ - 由 View 相机 vector 指向的世界位置