从其他 4 个中找出纹理坐标?

Posted

技术标签:

【中文标题】从其他 4 个中找出纹理坐标?【英文标题】:Figure out texture coordinate from 4 others? 【发布时间】:2010-06-07 22:30:37 【问题描述】:

假设我有 4 个顶点及其纹理坐标。那么我怎么才能算出第 5 个顶点的纹理坐标呢?

谢谢

说我有:

v1 = (0,0) tex coord(1,0)
v2....
v3...
v4...
v5 = (15,15) tex coord = ??

我想是的线性插值,

要弄清楚我所做的坐标:

vec.x / polywidth;
vec.y / polyheight;

【问题讨论】:

您是指从 UV 到内部 UV 的线性插值吗?还是别的什么? 【参考方案1】:

纹理映射是将 2d 空间映射到 3d 模型。没有通用的方法来推断纹理坐标,因为这些完全取决于您希望如何将纹理映射到表面。更重要的是,有许多可能的纹理坐标,它们会将纹理的不同部分映射到网格。

现在...如果您的网格是常规的 2D 网格(一种特殊情况),您希望在其上均匀地映射纹理(另一种特殊情况),那么是的,基于顶点位置的纹理坐标的线性插值会工作。

【讨论】:

以上是关于从其他 4 个中找出纹理坐标?的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 从入门到成魔-第7章-纹理和纹理坐标

OpenGL:纹理坐标实时变化的地形的最佳渲染方法?

纹理基础

多边形和方形纹理的纹理坐标

三维渲染引擎设计与实践

OpenGL 4.3错误地将第4个纹理坐标映射到与第3个纹理坐标相同的位置