Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可以使用JOGL创建三维组件吗?_Java_User Interface_Opengl_Components_Jogl - Fatal编程技术网

Java 可以使用JOGL创建三维组件吗?

Java 可以使用JOGL创建三维组件吗?,java,user-interface,opengl,components,jogl,Java,User Interface,Opengl,Components,Jogl,(系统标记这是主观的,但我不知道怎么做,有人解释吗?) 不管怎样,正如我的标题所问,您可以使用JOGL创建3D组件吗? 我想做的是,想象一个空的圆筒。你把圆柱体切成两半,然后把它切成两半。 在内部,我想粘贴图像…还不完全确定这将起到什么作用,但我正在与JOGL一起玩,通过NEHE教程和其他内容,我从手机上看到的一个应用程序中产生了这个想法 我不确定这将如何工作,但我的第一个想法是,它可能需要是JPanel或JFrame的子类,以便能够轻松添加普通组件,但我不确定 我知道我需要对JOGL更加熟悉,

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

不管怎样,正如我的标题所问,您可以使用JOGL创建3D组件吗? 我想做的是,想象一个空的圆筒。你把圆柱体切成两半,然后把它切成两半。 在内部,我想粘贴图像…还不完全确定这将起到什么作用,但我正在与JOGL一起玩,通过NEHE教程和其他内容,我从手机上看到的一个应用程序中产生了这个想法

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


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

好吧,首先你需要设置Eclipse并创建JOGL库:

  • 转到顶部菜单栏,单击窗口->首选项,然后单击新建并键入库的名称,如jogl-2.0。不选中系统库(添加到引导类路径)复选框,然后单击确定

  • 回到“用户库”面板,您应该会看到您的库出现,然后单击“添加JAR”。。并导航到提取JOGL库的位置,然后打开“lib”目录,其中包含JOGL的所有各种JAR文件和本机库。选择以下jar:gluegen-rt.jar、jogl.all.jar、nativewindow.all.jar、newt.all.jar,然后单击ok将这四个jar添加到用户库中。现在应该可以在jogl-2.0下看到它们

  • 单击本机库位置,然后单击右侧的“编辑”,然后选择“外部文件夹”。。并导航到JOGL的所有JAR文件所在的同一目录。这应该是提取JOGL文件的位置内的“lib”目录,然后单击“确定”

现在您只需告诉您的项目使用JOGL用户库,右键单击项目文件夹并选择属性,选择Java构建路径并单击顶部的->库选项卡->添加库->选择用户库并单击下一步,然后在JOGL-2.0旁边打勾并单击完成

我希望你想做一些你自己创造的东西,而不是复制:)


现在,将代码放在这里,看看您有什么,以及是否有问题。

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


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

我在问题中看到的唯一主观性是询问“can you”与“can one”。一个已经失去了时间的正确语法问题,真的…@Ricket谢谢你的解释,但是如果你能说的不正确,那是什么呢?“你能吗?”“能不能”,比如“能不能用JOGL创建一个3D组件?”因为你不是直接问我能不能用JOGL创建一个3D组件(答案是“还没有”,呵呵),而是问某人能不能。或者更好的是,可以将其改为“可以使用JOGL创建3D组件吗?”但是的,@Kos两者都是正确的,“一”更合适,并且可以减少与他人交谈时的混淆。您解释了如何使用JOGL和Eclipse创建项目。我认为问题在于如何使用JOGL创建组件,该组件可以以使用Swing、SWT和AWT组件的方式使用。你知道,一个可重复使用的圆柱体组件,它有一些属性,例如,要放在圆柱体中的图像。我错了吗?(真正的问题,不是修辞性的问题)谢谢你的解释,但不幸的是,雷金是对的。我已经在eclipse和netbeans中安装了JOGL。是的,我正在尝试体验和创造我自己的东西。。。如果我不是,我就不会学到很多东西。。。你对如何实现这一目标有什么想法吗?i、 正如Rekin恰当地描述的“一个具有属性的可重复使用的圆柱体组件?”虽然不是严格地说我是如何做到的,但您的描述是类似的。最后用Qt库迁移到C++,得到了一个相当不错的“3D窗口”。