首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将此float[] vertexData添加到Vector3f列表中?

如何将此float[] vertexData添加到Vector3f列表中?
EN

Stack Overflow用户
提问于 2016-08-16 17:19:24
回答 1查看 128关注 0票数 0

如何将顶点数据(float[])添加到Vector3f列表中?如果我尝试,它会给我一个错误。

代码语言:javascript
复制
float[] vertexData = new float[ allindices2.length * vertexDataSize / 3];
for (int i = 0; i < vertexData.length / vertexDataSize; i++){
      vertexData[i * vertexDataSize + 0] = Float.parseFloat(allindices2 [Integer.parseInt(allindices2 [i * source.size() + 0]) * 3 + 0]);
      vertexData[i * vertexDataSize + 1] = Float.parseFloat(allpositions2[Integer.parseInt(allindices2[i * source.size() + 0]) * 3 + 1]);
      vertexData[i * vertexDataSize + 2] = Float.parseFloat(allpositions2[Integer.parseInt(allindices2[i * source.size() + 0]) * 3 + 2]);

      vertices.add(vertexData);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 22:49:11

如果由于任何其他原因不需要vertexData数组,则根本不应该创建它。相反,您可以直接创建所需的Vector3f实例。

代码语言:javascript
复制
for (int i = 0; i < vertexData.length / vertexDataSize; i++){

      float x = Float.parseFloat(allindices2  [Integer.parseInt(allindices2[i * source.size() + 0]) * 3 + 0]);
      float y = Float.parseFloat(allpositions2[Integer.parseInt(allindices2[i * source.size() + 0]) * 3 + 1]);
      float z = Float.parseFloat(allpositions2[Integer.parseInt(allindices2[i * source.size() + 0]) * 3 + 2]);

      vertices.add(new Vector3f(x,y,z));
}

尽管如此,所有这些parse...调用和一般结构看起来都是高度可疑的。除非直接从文件中获取此数据,否则应考虑使用不同的数据模型。

此外:

  • 您确定第一个allindices2不应该是allpositions2吗?
  • 没有必要做两次工作。您可以提取索引的计算。

最有可能的是,代码也可以编写为

代码语言:javascript
复制
for (int i = 0; i < vertexData.length / vertexDataSize; i++){
      int index = Integer.parseInt(allindices2[i * source.size()]);
      float x = Float.parseFloat(allpositions2[index * 3 + 0]);
      float y = Float.parseFloat(allpositions2[index * 3 + 1]);
      float z = Float.parseFloat(allpositions2[index * 3 + 2]);
      vertices.add(new Vector3f(x,y,z));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38980891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档