private static void GerstnerShoreWave(WaterGerstner.PrecomputedShoreWaves wave, Vector2 waveDir, Vector2 pos, Vector2 shoreVec, float variation_t, ref Vector3 outP) { float single = Mathf.Clamp01(waveDir.x * shoreVec.x + waveDir.y * shoreVec.y); single *= single; float k = wave.K * (waveDir.x * pos.x + waveDir.y * pos.y - wave.C + variation_t); float single1 = Mathf.Cos(k); float single2 = Mathf.Sin(k); ref float singlePointer = ref outP.x;
private static void GerstnerShoreWave(WaterGerstner.PrecomputedShoreWaves wave, Vector2 waveDir, Vector2 pos, Vector2 shoreVec, float variation_t, ref float outH) { float single = Mathf.Clamp01(waveDir.x * shoreVec.x + waveDir.y * shoreVec.y); single *= single; float k = wave.K * (waveDir.x * pos.x + waveDir.y * pos.y - wave.C + variation_t); Mathf.Cos(k); float single1 = Mathf.Sin(k); outH = outH + wave.A * wave.Amplitude * single1 * single; }