В настоящее время у меня нет решения для наложения текстуры икосаэдра без шва от полюса к полюсу. Кажется, что наложение текстуры этого примитива является обычной проблемой, которая еще не полностью решена. Я провел много исследований и попробовал много разных подходов для генерации координат ультрафиолета, самый близкий (и самый маленький) подход такой:
GLfloat u = 0.5f * ( 1.0f + atan2( z , x ) * ( 1 / M_PI ));
GLfloat v = acos( y ) * ( 1 / M_PI );
Икосаэдр или геосфера является частью различных сред с открытым исходным кодом, таких как jMonkeyEngine или Geist3D, но ни одна из реализаций, кажется, не работает правильно. Не должно быть невозможно отобразить развернутую прямоугольную текстуру или я ошибаюсь? Любой фрагмент кода приветствуется.
Я загрузил проект Xcode здесь , который построен с openFrameworks 0.61 для iPhone. Внутри также есть два файла PNG, каждый из которых показывает другой вариант шва.