匹配不同长度的四边形的滚动UV

时间:2013-06-28 17:20:26

标签: c++ opengl-es

我有几个(3-4)带(基本上是长三角形条),它们共享相同的纹理,基本上从同一个位置开始。我通过每帧向V坐标添加一个偏移来垂直滚动该纹理。该偏移只是我添加到每个帧的成员变量(是的,它确实变得很大)。

我的问题是UVs来自波段的末端并同时更新,这意味着纹理会同步直到波段变为不同的长度。它们的长度基于模拟,因此它可以改变每一帧。

Current vs Ideal

如何确保计算补偿每次滚动UV的帧的长度差异?我在数学方面遇到了麻烦。

谢谢!

1 个答案:

答案 0 :(得分:1)

解决方案是使用最长的波段作为确定其他所有物质的紫外线的基础。如果最长的波段是0到1(沿着它的长度),那么计算较短波段的紫外线就像使用两个波段之间的百分比差异一样简单。

即。较短波段的V坐标将从0变为较短波段长度/最长波段长度。