Java 创建库以使用JOGL绘制三维对象

Java 创建库以使用JOGL绘制三维对象,java,jogl,Java,Jogl,所以我遇到了点麻烦。我正在编写一个库,使用JOGL在GLCanvas上显示3D模型(因此也就是2D模型)。在我决定将Strixa3DElement的各个多边形的绘制方法调用到线程中以加快速度之前,一切都进行得很顺利。以前,一切都完美地呈现在屏幕上,但速度非常缓慢。现在,就速度而言,再好不过了。但它没有画任何东西。除了draw方法处理的内容之外,忽略所有内容,是否有任何原因 不应该工作吗 编辑:另外,为了避免线程中的并发问题,假设任何给定元素的多边形数不超过100000个。现在最好将渲染任务留在

所以我遇到了点麻烦。我正在编写一个库,使用JOGL在GLCanvas上显示3D模型(因此也就是2D模型)。在我决定将Strixa3DElement的各个多边形的绘制方法调用到线程中以加快速度之前,一切都进行得很顺利。以前,一切都完美地呈现在屏幕上,但速度非常缓慢。现在,就速度而言,再好不过了。但它没有画任何东西。除了draw方法处理的内容之外,忽略所有内容,是否有任何原因

不应该工作吗


编辑:另外,为了避免线程中的并发问题,假设任何给定元素的多边形数不超过100000个。

现在最好将渲染任务留在gl线程中

  • 你甚至不使用显示列表。当然,会很慢
  • 即使在这之后,渲染也不是速度问题:您可以在另一个线程中为渲染准备数据,使渲染循环保持干净和快速。(将其移出。\u performGameLogic等)
  • 您可以使用VBO、着色器(将数据和渲染逻辑从CPU移动到GPU)、屏幕外缓冲区等来提高性能
如果你继续,你应该

  • 在编写代码时,检查GLArrayDataServer类是否与VBO、单元测试和演示一起使用
  • 不将GL2作为参数传递:GLContext.getCurrentGL().getGL2()
  • 应尝试GL2ES2:不推荐使用固定功能,允许在移动平台上使用
  • 加入jabber会议

关于JOGL&threads的一些答案:

好的,我会研究一下。我现在不在我的开发计算机旁,所以我不知道什么时候能试用它。听起来很有说服力的建议,谢谢。查看显示列表和vbo示例