我正在尝试将此类与JOGL 一起使用。它引用了 BufferUtil,我在任何地方都找不到。我找到了文档,但没有实际代码。Eclipse 不建议从任何地方导入它。我必须做什么才能使用此代码?
4 回答
在 JOGL 的 NeHe 教程中,有很多地方BufferUtil
用于创建缓冲区。我们可以使用 JOGL 2.0 来com.jogamp.common.nio.Buffers
代替。
例如,
BufferUtil.newIntBuffer(BUFSIZE)
变成Buffers.newDirectIntBuffer(BUFSIZE)
BufferUtil.newByteBuffer(BUFSIZE)
变成Buffers.newDirectByteBuffer(BUFSIZE)
我在将 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
我认为他们推迟BufferUtil
了一段时间(看起来它从来没有做过任何超级有用的事情)但是由于代码只是分配了一个 new ByteBuffer
,所以你不需要它。只是做一个ByteBuffer unpackedPixels = ByteBuffer.allocate(packedPixels.length * bytesPerPixel);
。
还有一个较新的 JOGL 类,它com.jogamp.opengl.util.texture.TextureIO
使用一些newTexture(...)
方法执行类似的调用。