2

好的,这已经让我发疯了 4 天了。我在生成顶点/点方面没有问题,但是如何以合理有效/优雅的方式从它们制作封闭的多边形或线框?

另一个问题是如何存储顶点?我应该按什么顺序存储 3D 对象的顶点?我真的无法再思考了,我已经在网上寻找解决方案但找不到任何解决方案。

我想到的是将顶点存储在二维数组中,水平(x 和 z)边缘循环作为行,垂直(y)作为列,但我怀疑这是一种很好的方法。

4

2 回答 2

1

创建一个一维顶点数组,并将它们按您喜欢的顺序放置(尽管对于性能而言,将它们排序为带状示例会更好......)。创建一个索引数组(例如一个短裤数组),索引数组中的每个元素都应该指向顶点数组中的顶点索引。将它们构建为一维数组的原因是这是 OpenGL 在内部处理事物的方式。

如果您的问题是您没有元素数组,而只是想要绘制为网格的一组点,则首先需要生成这样的数组。首先了解三角形拓扑的基础知识:http: //gamma.cs.unc.edu/COMP770/LECTURES/11trimesh.pdf,然后思考从一组点生成网格的方法。

于 2013-05-05T17:51:00.497 回答
1

3d 顶点没有标准顺序。您可以根据自己的喜好或适合您的工作方式来订购它们。

于 2014-12-05T13:03:12.413 回答