Итак, я создал модель в Ogre3D, и эта модель состоит из ряда треугольников произвольного вращения и положения. Я хотел бы «развернуть» модель, как это делают многие программы моделирования, чтобы все треугольники отображались в 2d (x, y), но размеры треугольников сохранялись. Это для нанесения декалей. Причина, по которой размеры треугольников должны быть сохранены, чтобы при наложении текстуры не было растяжения.
Это было то направление, в котором я думал идти, но у меня возникли проблемы с его визуализацией и достижением правильных алгоритмов:
//Verticies will have a converted bool;
func( triangle x):
for each of x's vertices:
map to x,y coordinates if not converted;
check other triangles for common vertex if so call func(common_tri);
Как только это вернется, будет преобразованная версия всех треугольников, так что все они будут развернуты и размещены на текстуре, где у меня проблема, это сопоставление с пространством x, y. Я не уверен, как преобразовать треугольник в трехмерном пространстве в двухмерное, чтобы он сохранял все свои атрибуты (например, переход от углового обзора к перпедикулярному виду поверхности). Любая помощь будет принята с благодарностью.