Текстурное наложение NGon? - PullRequest
1 голос
/ 07 мая 2010

Я не уверен, как выяснить, как сопоставить координаты текстуры для 2D NGon (N-сторонний многоугольник). Как это можно сделать?

Эффект, которого я пытаюсь добиться, заключается в том, чтобы текстура помещалась на многоугольник и растягивалась соответственно, чтобы вся текстура подходила к нему.

Спасибо

1 Ответ

3 голосов
/ 07 мая 2010

Помните, что при рендеринге ngon в OpenGL это просто целая куча треугольников. Кроме того, вы принимаете некоторую форму и пытаетесь отобразить ее в прямоугольнике, поэтому вам нужно быть крайне критичным в отношении того, как вы хотите это сделать, поскольку существует множество различных отображений, переходящих из любой формы в прямоугольную текстуру.

Например, если у меня есть 5-угольник, имеющий форму квадрата с точкой между двумя углами, его легко сопоставить с текстурой. Что происходит, когда я обращаю на это внимание? Меняются ли координаты текстуры при перемещении вершин?

Один из способов сделать это - отобразить окружность нгона на окружность прямоугольника, где расстояние, пройденное от вершины до вершины нгона, отображается в координату UV по окружности текстуры. Например, на 1/4 пути вокруг него, дайте ему UV координату (1,0), на половине пути вокруг ngon, дайте вершине UV координату (1,1) и 3/4 пути вокруг него дайте ему UV (0,1) - вам, конечно, нужно будет интерполировать между точками, так как нгон не будет идеально выстраиваться в каждой вершине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...