比方说,如果我有一个只有5个相关项从位置0开始的大ShortBuffer,以及一个容量小于大缓冲区的小缓冲区...我如何将5个值从大缓冲区“放入”小缓冲区,而不会出现缓冲区溢出或手动索引所有这些值?
当前引发缓冲区溢出异常,如下所示:
indexBuffer.position(0);
subMeshes.get(subMeshIndex).indexBuffer.position(0);
subMeshes.get(subMeshIndex).indexBuffer.put(indexBuffer);编辑:另外请注意,之后我需要更改大缓冲区中的数据,以便共享内存选项(如复制等)不在表中
发布于 2011-11-23 05:30:00
如果我没弄错你的需求,最简单的办法就是限制更大的缓冲区。当您执行批量put时,它将仅传输到limit项目。您可以通过以下方式完成此操作:
indexBuffer.position(0);
indexBuffer.limit(5); // <-- limit to 5 temporarily
subMeshes.get(subMeshIndex).indexBuffer.position(0);
subMeshes.get(subMeshIndex).indexBuffer.put(indexBuffer);
indexBuffer.limit( indexBuffer.capacity() );https://stackoverflow.com/questions/8233899
复制相似问题