我正在尝试将此class用于JOGL。它引用了BufferUtil,我在任何地方都找不到它。我找到documentation,但没有实际代码。 Eclipse不建议从任何地方导入它。我需要做些什么才能使用此代码?
答案 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)
使用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
的类似操作。