纹理映射一个NGon?
Posted
技术标签:
【中文标题】纹理映射一个NGon?【英文标题】:Texture mapping an NGon? 【发布时间】:2010-05-07 15:03:46 【问题描述】:我不知道如何确定如何为 2D NGon(N 边多边形)映射纹理坐标,如何做到这一点?
我想要达到的效果是纹理适合多边形并相应地拉伸,以便整个纹理适合它。
【问题讨论】:
【参考方案1】:请记住,在 OpenGL 中渲染 ngon 时,它只是一堆三角形。此外,您正在制作某种形状并尝试将其映射到矩形,因此您必须非常严格地确定您希望如何做到这一点,因为从任何形状到矩形纹理都有许多不同的映射。
例如,如果我有一个形状像正方形的 5 边形,并且在两个角之间有一个点,则很容易映射到纹理。当我提出这一点时会发生什么?当我移动顶点时纹理坐标会改变吗?
一种方法是将 ngon 的周长映射到矩形的周长,其中 ngon 上从顶点到顶点的距离被映射到围绕纹理周长的 UV 坐标。例如,在它周围的 1/4 处,给它一个 UV 坐标 (1,0),在 ngon 的一半处,给顶点一个 (1,1) 和 3/4 的 UV 坐标在它周围,给它一个 (0,1) 的 UV——当然,你需要在点之间进行插值,因为 ngon 不会在每个顶点完美对齐。
【讨论】:
以上是关于纹理映射一个NGon?的主要内容,如果未能解决你的问题,请参考以下文章