В настоящее время я конвертирую наш пользовательский формат меша в justgon, запускаю сокращение меша и затем возвращаю обратно. Проблема на данный момент заключается в том, что после преобразования обратно в наш формат число УФ растет. Я считаю, что UVS становятся сваренными.
Я использую:
spRealArray texcoords = inGeom->GetTexCoords(i);
чтобы получить координаты текстуры, я тогда использую:
spRealData texcoords_xy = g_simplygonSDK->CreateRealData();
texcoords->GetTuple(j, texcoords_xy);
чтобы получить координату каждой текстуры.
Но теперь мне нужно создать канал для каждого общего УФ-индекса, а не экспортировать все как отдельную вершину. Как мне найти УФ-индекс с учетом лица и индекса вершины.
Оказывается, вам нужно позвонить: spPackedGeometryData PackedGeom = inGeom->NewPackedCopy();
Это упакует данные для вас. Затем вы можете использовать свой код как обычно.
spRidArray PackedVertexIds = PackedGeom->GetVertexIds();
теперь будет содержать правильно упакованные индексы.
Других решений пока нет …