作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个 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/
我是一名优秀的程序员,十分优秀!