Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有索引和顶点缓冲区,就像这里描述的那样来绘制三角形。
在我的代码中,我经常需要查找哪些三角形共享一个特定的顶点。最基本的方法是:
现在我想知道我是否缺少更有效或标准的算法。谢谢。
创建第二个查找表,将顶点的索引映射到包含它的三角形列表。
它可以通过循环索引缓冲区并将三角形添加到它的所有三个顶点来创建。
例如,如果索引缓冲区是:
0, 1, 4 0, 2, 3
查找表将是
0 -> [t0, t1] 1 -> [t0] 2 -> [t1] 3 -> [t1] 4 -> [t0]
如果正在更新数据,则必须相应地更新此查找表。根据共享单个顶点的三角形数量有多大,以及添加/删除它们的频率,您可能需要使用哈希表而不是普通列表来存储这些三角形。