Я пытаюсь визуализировать кубы для представления 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 вершины, которые были предложены в комментариях. У меня есть функция inprogress для ячеек, которая выглядит как
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],
];
}