我使用FloatBuffer
数组初始化了Float
的内容。然后修改我放入的Floats
,我希望它也会修改FloatBuffer
中的值,但我得到了一个奇怪的结果。
我做错了吗?有可能吗?
编辑:我的错误,我明白Float是不可变的,所以这是一种正常的行为。所以我的问题是,有没有办法用可变浮点包装器填充FloatBuffer,以便我可以通过引用轻松修改我的FloatBuffer内容?或者是否有更好的替代FloatBuffer用于OpenGL数据传输?答案 0 :(得分:0)
如果我理解正确的话,FloatBuffer的方法可以做你想要的。
使用FloatBuffer,您可以通过调用position method来设置其位置(完成时不要忘记将其返回到0,如果我没记错的话,opengl需要它为0)。然后,您可以使用get和put方法读取或写入该位置。
因此,如果您需要更新本机内存的内容,您可以从分配它的FloatBuffer中这样做:
{{1}}