我想绘制一个模型,LWJGL
并且我知道在调用每个glVertex
方法JNI
时都会发生调用,这很耗时。由于我将模型放在一个文件中,因此我只想使用一个JNI
调用(向LWJGL
库中添加本机方法),并在本机端从文件中获取我的模型顶点(使用 c 语言)并将它们全部绘制(避免JNI
每个顶点调用)。所以,我想更改LWJGL
库源并添加一个函数来做到这一点。我的问题是,此功能是否在LWJGL
或JOGL
任何可能的 java 绑定中可用openGL
?
问问题
473 次
2 回答
3
使用顶点缓冲区对象来存储您的顶点数据,并调用绘制尽可能多的顶点/三角形,只需调用glDrawArrays、glDrawElements或类似函数即可。
本页解释了如何在 LWJGL 中使用它们。
请注意,OpenGL 文档的 LWJGL 版本相当缺乏。查看OpenGL 官方网站以了解 C 版本,这些版本很好地解释了它们的功能。
于 2012-05-01T10:27:12.713 回答
1
您可以使用 LWJGL 中由glVertexPointer (link)包装的 OpenGL glVertexPointer 函数。
但!
如果您担心 JNI 调用的速度,那么为什么不重新考虑在 c/c++ 中执行此操作呢?
稍后编辑:glVertexPointer 的文档
于 2012-05-01T10:21:20.560 回答