Files
Fishing2/Packages/com.waveharmonic.crest/Runtime/Scripts/Data/Query/Depth/DepthQuery.cs
2026-01-01 22:00:33 +08:00

31 lines
976 B
C#

// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
using UnityEngine;
namespace WaveHarmonic.Crest
{
sealed class DepthQuery : QueryBase, IDepthProvider
{
public DepthQuery(WaterRenderer water) : base(water) { }
protected override int Kernel => 2;
public override int Query(int hash, float minimumSpatialLength, Vector3[] queries, Vector3[] results)
{
var id = base.Query(hash, minimumSpatialLength, queries, results);
// Infinity will become NaN. Convert back to infinity.
// Negative infinity should not happen.
for (var i = 0; i < results.Length; i++)
{
var value = results[i];
if (float.IsNaN(value.x)) value.x = float.PositiveInfinity;
if (float.IsNaN(value.y)) value.y = float.PositiveInfinity;
results[i] = value;
}
return id;
}
}
}