是否有可能使用java Opengl像Minecraft一样创建400万像素,帧速率为35 fps? 如果有可能我该怎么办?你能给我一些消息来源的例子吗?
答案 0 :(得分:1)
您好
我已经在使用JogAmp的Ardor3D Continuation和JOGL的this project中这样做了。我在其上发布了一些说明here,请查看包含示例的小节。
N.B:MrCoder编写的原始代码使用了一个废弃且未维护的Ardor3D版本,其渲染器基于您最喜欢的库。
答案 1 :(得分:0)
在这种情况下,如果正确预加载坐标和纹理数据(最好使用flyweight object pool)并避免在循环内使用“new”,则java不是瓶颈。
有多种方法可以优化绘制的多维数据集的数量。只需避免在大多数现代FPS游戏中绘制远处的物体,使用雾来隐藏半成品形状。你的立方体越小,它们越难看,越近,你就越不能画出它们。如果你的vbo太大,也可以尝试回到显示列表。
答案 2 :(得分:0)
看看instanced rendering。确保你没有在某种循环中调用OpenGL方法,因为这会破坏你的性能。如果您不想使用实例化渲染,请使用显示列表(但您将无法对其进行修改)。
答案 3 :(得分:0)
我现在正在jogl做类似的事情 我确定你已经做过了(你已经有2年了),但对于旁观者和潜伏者来说:
1。)VBO(顶点缓冲对象)比立即模式/显示列表要好得多
2.)自定义着色器(顶点和片段)
3.)实例渲染(我现在试图弄清楚)
以下是其他人对快速多重渲染的看法的一些有用链接:
http://sol.gfxile.net/cubes.html
http://www.opengl.org/wiki/Vertex_Rendering#Multi-Draw