gpt4 book ai didi

java - 如何将 ArrayList 转换为 ByteBuffer?

转载 作者:行者123 更新时间:2023-11-30 08:52:38 24 4
gpt4 key购买 nike

我正在尝试创建一个 TriangleIndexVertexArray使用 JBullet,但为此我需要解析 ByteBuffer模型中的所有顶点。

我有一个 ArrayList<Vector3f>模型中的所有顶点。

我如何解析这个 Vector3f 的列表?到ByteBuffer

最佳答案

你可以按照下面的方式做

声明你的顶点

ArrayList<Vector3f> verticesnew = new ArrayList<Vector3f>();

设置你的顶点

vertices.add( new Vector3f(someVertice) );

从顶点获取 float 缓冲区:

// There are 3 floats needed for each vertex (x,y,z)
int bufferSize = vertices.size() * 3 * Float.SIZE;
FloatBuffer verticesBuffer = ByteBuffer.allocateDirect( bufferSize ).order( ByteOrder.nativeOrder() ).asFloatBuffer();

// Copy the values from the list to the direct float buffer
for ( Vector3f v : vertices )
verticesBuffer.put( v.x ).put( v.y ).put( v.z );

关于java - 如何将 ArrayList<Vector3f> 转换为 ByteBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30121531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com