通过Java学习OpenGL

7

我对学习OpenGL很感兴趣,而我目前最喜欢的语言是Java。如果使用JOGL这样的工具,我能够充分利用它的优点吗?还是我应该集中精力提高C++的技能水平呢?

顺便问一下,你偏爱哪个Java OpenGL包装库,为什么呢?

5个回答

8

3

我在Delphi和Java中进行了一些基本的OpenGL开发。我使用了JOGL,正如其他人所提到的,尽管使用JOGL在Java中编程OpenGL和在其他语言(Delphi、C++等)中编程OpenGL几乎没有什么区别,但它感觉不太对劲。正确设置所有内容并编写像

这样的东西让我疯狂。
gl.glBegin (GL.GL_QUADS)

似乎有很多冗余的gl, GL, GLU需要编写,这会妨碍你。而且我相信,如果你使用C ++或类似语言,而不是Java,性能会更好。

我并不是说不要使用JOGL(Java + OpenGL),它可以实现,并且与C ++并没有太大区别...但是,像我说的那样,请尝试使用c ++。


在我看来,GL、GLU并不是多余的,因为它们允许将它们的C代码或教程直接翻译成Java。 - dfa
我的意思是,我更喜欢调用glBegin(GL_QUADS),而不是gl.glBegin(GL.GL_QUADS) :) - Peter Perháč
我部分同意。方法名称前缀“gl”并不是必要的。 - finnw

1

如果你对在Java中进行3D编程而不必担心所有底层细节也感兴趣,可以查看Java3D

最坏的情况下,你可以看看他们如何利用OpenGL来获取一些很好的学习材料。


1

如果你真的想在3D编程方面变得专业,你必须学习C/C++,C++是编写3D游戏的标准语言。


2
游戏不是3D图形的唯一商业应用,还有很多其他的东西,比如厨房设计软件。 - Ed James

0

用C++来做,你将使用的位基本上是相同的,因为不会有太多指针的混乱,所以这不是一个重大的直觉飞跃。此外,C++绑定更可靠,(根据我的经验)是所有可用语言中最快的(特别是Python真的不能做OpenGL)。

另外,学习C++总是一件好事,它让你更详细地思考编程概念,而不仅仅是弹出一个ArrayList<>或任何预构建类来满足你的目的=]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接