我有一些球形经度/纬度坐标,用于需要形象化的球体上的点。为此,我将点转换为笛卡尔坐标,并构建了一个可以用VTK渲染的三角形网格。迄今为止工作。球体上的纹理错误
现在我想使用球体模型的纹理。因此我将球形坐标转换为纹理坐标并将其分配给每个点。这适用于球体的大部分表面三角形,并且结果看起来可以接受。
但是,对于素数子午线对面纹理包裹的三角形,三角形被错误地纹理化:不是重复纹理和映射“越过纹理边界”,整个纹理被挤压到单个三角形。
这里是它的外观像一个画面:
的济科,扎克线显然是错误的,蓝线应该是可见的,而不是。整个纹理映射到三角形上,产生红色和白色条纹。这是有道理的,因为对于所讨论的三角形,纹理坐标跨越整个纹理空间。
为了说明这个问题,这是不特定的领域,但所有封闭的对象,我创建了如下图所示:
在上面的矩形,我们看到,横跨纹理三角形计算出的纹理坐标A,B和C的边界。由于纹理可以平铺,这就是我想要渲染三角形的方式。
下面的三角形显示当前如何解释纹理坐标。边A,B和C的坐标是相同的,但是这一次,大部分纹理用于三角形,而不是在边界处平铺纹理。
我相信我有一个很常见的错误,但我没有找到任何帮助我的东西。对我有任何提示吗?
在过去的一天左右,我一直在为此苦苦挣扎,主要是在检测哪些面有错误。结果发现错误的面具有反时钟顺序的纹理坐标。 – 2011-12-07 21:00:29