使用GPU Gems文章Effective Water Simulation From Physical Models我已经在UE4中实现了Gerstner Waves,我已经在GPU上构建了用于细分网格位移的函数,并且在代码中构建了用于采样波高的目的,但问题是我遇到的是,公式本质上的点远离它们的原点,所以当使用gerstner函数来获得点的高度时,它不一定是你正在采样的点,所以提供了一个不正确的高度那个坐标。
所以我需要在某种程度上解决gerstner函数中实际与世界位置对齐的点。我已经自学了足以实现波浪,但我坚持这个解决方案,但我怀疑有某种矩阵或方式来获取输入,应用cos值并将其用作查找对于实际的样本点。非常感谢任何想法和帮助。
参考Gerstner Wave公式
公式图片
Q = Slope
L = WaveLength
A = Amplitude
D = Vector2 Direction
x = x world coordinate
y = y world coordinate
t = time
Where Qi = Q/wi * A * NumWaves
Where wi = 2pi/L
Where phase = Speed * 2/L