1

我不确定如何弄清楚如何为 2D NGon(N 边多边形)映射纹理坐标,这怎么做?

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

4

1 回答 1

3

请记住,在 OpenGL 中渲染 ngon 时,它只是一堆三角形。此外,您正在制作某种形状并尝试将其映射到矩形,因此您必须非常严格地确定您希望如何做到这一点,因为从任何形状到矩形纹理都有许多不同的映射。

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

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

于 2010-05-07T16:03:12.327 回答