我正尝试在JOGL中使用这个class。它引用了BufferUtil,我找不到任何地方。我发现documentation,但没有实际的代码。 Eclipse不建议从任何地方导入它。我需要做些什么才能使用此代码?Java:BufferUtil?
回答
我认为他们拉回了BufferUtil
(看起来它从来没有做过任何超级有用的事情),但由于代码只是分配了一个新的ByteBuffer
,所以你不需要它。相反,只需做一个ByteBuffer unpackedPixels = ByteBuffer.allocate(packedPixels.length * bytesPerPixel);
。
还有一个更新的JOGL类,它有一些类似com.jogamp.opengl.util.texture.TextureIO
的几个newTexture(...)
方法。
我遇到了同样的问题,同时移植一个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
在NeHe JOGL教程中,有很多地方使用BufferUtil
来创建缓冲区。使用JOGL 2.0,我们可以使用com.jogamp.common.nio.Buffers
。
例如,
BufferUtil.newIntBuffer(BUFSIZE)
成为Buffers.newDirectIntBuffer(BUFSIZE)
BufferUtil.newByteBuffer(BUFSIZE)
成为Buffers.newDirectByteBuffer(BUFSIZE)
而是使用com.jogamp.common.nio.Buffers来做到这一点。 GLBuffers主要用于内部使用,它甚至不应该在公共API中。 – gouessej 2012-02-24 11:54:25
根据@ gouessej的评论我更新了这个答案,我们不应该使用'com.jogamp.opengl.util.GLBuffers'类。 – 2012-05-29 04:07:59
您已经添加到了'jogl.jar'文件的引用到您的项目? – 2010-09-19 17:54:20
是的。其他JOGL类,如GL2,工作正常。 – 2010-09-19 17:56:25
JOGL 2.0中没有jogl.jar,它被命名为jogl.all.jar。还有另一个没有AWT依赖的JAR。 – gouessej 2012-02-24 11:52:01