我正在尝试渲染立方体来代表 AABB。为了做到这一点,我需要立方体的顶点和“单元格”或三角形。我的 AABB 结构看起来像[vec3Min, vec3Max]. 我能够使用以下方法获得立方体的 8 个顶点
export function vertsFromAABB(aabb){
const min = aabb[0];
const max = aabb[1];
return [
// min Y axis verts
min,
[max[0],min[1],min[2]],
[max[0],min[1],max[2]],
[min[1],min[1],max[2]],
// max Y axis verts
max,
[min[0],max[1],max[2]],
[min[0],max[1],min[0]],
[max[0],max[1],min[0]]
];
}
我现在需要从这组顶点中获取三角形索引。单元格应该是一组顶点索引,例如[[0,1,2],[1,2,3], ...]
编辑更新
我已经对评论中建议的最后 2 个 verts 进行了修复。我有一个看起来像的单元格的功能进行中
export function cellsFromAABBVerts(aabbVerts){
return [
// Top quad triangles
[0,1,2],
[1,2,3],
// Side?
[2,3,4],
[3,4,5],
// Bottom quad triangles
[4,5,6],
[5,6,7],
];
}
莫回无
相关分类