2010-03-26 3 views

ответ

1

Да, это выполнимо. У вас есть матрица преобразования для обеих сеток, предположительно?

Заблокируйте обе сетки, а затем возьмите 1-ю меш (предположим, мы добавим ее ко второму) и преобразуем ее вершины один за другим путем преобразования матрицы из локального пространства цилиндра 1 в локальное пространство clyinder 2 (т.е. [цилиндр 1 мировое преобразование] * [обратное мировое преобразование цилиндра 2]). Определите правильные индексы, и теперь вы добавили сетку 1 в сетку 2.

Он будет более компилирован, если вы хотите, чтобы обе ячейки пересекались правильно. Если вы хотите сделать это, я предлагаю вам заглянуть в конструктивную сплошную геометрию (CSG). Есть много ссылок, которые можно найти в Google по этому вопросу.

+0

Я нашел, что DirectX Mesh имеет статический метод 'concatenate', для чего этот метод используется? – zionpi

+0

@zionpi: Кажется, он не выполняет CSG, но должен объединить 2 ячейки, конечно. – Goz

+0

Странно, я пытаюсь «конкатенировать» две пользовательские сетки, только один из них появился. Кроме того, CSG кажется только выполненным на * примитивных * формах, таких как цилиндр, конус, куб, я не знаю, верно ли это. имеет ли сетка * специальный * формат? – zionpi

Смежные вопросы