是否可以通过引用修改FloatBuffer的内容?

时间:2016-12-28 01:33:46

标签: android opengl-es opengl-es-2.0 floatbuffer

我使用FloatBuffer数组初始化了Float的内容。然后修改我放入的Floats,我希望它也会修改FloatBuffer中的值,但我得到了一个奇怪的结果。

我做错了吗?有可能吗?

编辑:我的错误,我明白Float是不可变的,所以这是一种正常的行为。所以我的问题是,有没有办法用可变浮点包装器填充FloatBuffer,以便我可以通过引用轻松修改我的FloatBuffer内容?或者是否有更好的替代FloatBuffer用于OpenGL数据传输?

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话,FloatBuffer的方法可以做你想要的。

使用FloatBuffer,您可以通过调用position method来设置其位置(完成时不要忘记将其返回到0,如果我没记错的话,opengl需要它为0)。然后,您可以使用getput方法读取或写入该位置。

因此,如果您需要更新本机内存的内容,您可以从分配它的FloatBuffer中这样做:

{{1}}