Java:BufferUtil?

时间:2010-09-19 17:43:14

标签: java opengl jogl

我正在尝试将此class用于JOGL。它引用了BufferUtil,我在任何地方都找不到它。我找到documentation,但没有实际代码。 Eclipse不建议从任何地方导入它。我需要做些什么才能使用此代码?

4 个答案:

答案 0 :(得分:10)

在JOH的NeHe教程中,有很多地方使用BufferUtil来创建缓冲区。使用JOGL 2.0,我们可以使用com.jogamp.common.nio.Buffers代替。

例如,

BufferUtil.newIntBuffer(BUFSIZE)变为Buffers.newDirectIntBuffer(BUFSIZE) BufferUtil.newByteBuffer(BUFSIZE)变为Buffers.newDirectByteBuffer(BUFSIZE)

答案 1 :(得分:2)

JOGL doc更像是herehere

使用Buffers代替BufferUtil:com.jogamp.common.nio.Buffers

TextureIO已移至JOGL 2.0中的com.jogamp.opengl.util.texture.TextureIO包中。它不是一个新类,它已经在JOGL 1.1.0中了。

答案 2 :(得分:1)

在将JOGL 1.x应用程序移植到JOGL 2时遇到了同样的问题,并在新的gluegen库中找到了BufferUtil等效方法:com.jogamp.common.nio.Buffers

JavaDoc:http://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/com/jogamp/common/nio/Buffers.html

答案 3 :(得分:-1)

我认为他们暂时退出BufferUtil(看起来它从来没有做过任何超级有用的东西)但是因为代码只是分配了一个新的ByteBuffer,所以你不需要它。只需改为ByteBuffer unpackedPixels = ByteBuffer.allocate(packedPixels.length * bytesPerPixel);即可。

还有一个较新的JOGL类使用一些newTexture(...)方法执行类似com.jogamp.opengl.util.texture.TextureIO的类似操作。