想要实现曲面纹理贴图功能,但是发现曲面表面一旦偏移,接缝处就会出现明显缝隙
一开始想通过动态偏移的方式,根据纹理偏移的高度相应的缩小旋转半径。
细想发现由于纹理不同,实际偏移的高度也不同。这会导致旋转曲面接不上
后面了解到有一个“接缝顶点焊接”的算法
思路是通过UV展开,再将U为0的点与U为1的点进行焊接,这就能从逻辑上实现曲面闭合,消除缝隙
但是从渲染的角度,对曲面进行UV展开的时候并不一定会把接缝放在U的0点处!
这就导致了焊接算法可能焊接错误的点,而真正需要焊接的缝隙并没有被焊接!
那么需要解决的问题就变成了:如何让程序获取到曲面的缝隙
——不从UV展开,而直接从3D模型去识别“位置重合但拓扑独立的重复顶点”
旋转体的接缝处会出现拓扑点重合(近似重合)的情况,对这些点进行焊接就能够实现真正的焊接缝隙了。