纹理映射NGon?

我不知道如何确定如何为2D NGon(N边多边形)绘制纹理坐标图如何做到这一点?

我想要实现的效果是使纹理适合多边形并相应地伸展,以便整个纹理适合它。

谢谢

请记住,在OpenGL中渲染ngon时,它只是一大堆三角形。 此外,你正在采取一些形状,并试图将其映射到一个矩形,所以你必须非常批评你希望如何做到这一点,因为有许多不同的映射从任何形状到矩形纹理。

例如,如果我有一个形状像正方形的5-gon,两个角之间有一个点,则很容易映射到纹理。 当我提出这一点时会发生什么? 当我移动顶点时,纹理坐标是否会改变?

一种方法是将ngon的圆周映射到矩形的圆周,其中ngon上从顶点到顶点的距离被映射到围绕纹理圆周的UV坐标。 例如,在它周围的1/4处,给它一个(1,0)的UV坐标,在ngon的中间,给顶点一个UV坐标(1,1)和3/4的方式在它周围,给它一个(0,1)的UV – 当然,你需要在点之间插值,因为一个ngon在每个顶点都不会完美排列。