void Update() { if (_phases == null || _phases.Length != _componentsPerOctave * OceanWaveSpectrum.NUM_OCTAVES) { InitPhases(); } // Set random seed to get repeatable results Random.State randomStateBkp = Random.state; Random.InitState(_randomSeed); _spectrum.GenerateWaveData(_componentsPerOctave, ref _wavelengths, ref _angleDegs); Random.state = randomStateBkp; UpdateAmplitudes(); ReportMaxDisplacement(); // this is done every frame for flexibility/convenience, in case the lod count changes if (_materials == null || _materials.Length != OceanRenderer.Instance.CurrentLodCount) { InitMaterials(); } }
void Update() { // Set random seed to get repeatable results Random.State randomStateBkp = Random.state; Random.InitState(_randomSeed); _spectrum.GenerateWaveData(_componentsPerOctave, ref _wavelengths, ref _angleDegs, ref _phases); Random.state = randomStateBkp; _minSpatialLengthForArea = 0f; UpdateAmplitudes(); ReportMaxDisplacement(); // this is done every frame for flexibility/convenience, in case the lod count changes if (_materials == null || _materials.Length != OceanRenderer.Instance.CurrentLodCount) { InitMaterials(); } // this is done every frame for flexibility/convenience, in case the lod count changes if (_renderWaveShapeCmdBufs == null || _renderWaveShapeCmdBufs.Length != OceanRenderer.Instance.CurrentLodCount - 1) { InitCommandBuffers(); } }
public void UpdateWaveData() { // Set random seed to get repeatable results Random.State randomStateBkp = Random.state; Random.InitState(_randomSeed); _spectrum.GenerateWaveData(_componentsPerOctave, ref _wavelengths, ref _angleDegs); UpdateAmplitudes(); // Won't run every time so put last in the random sequence if (_phases == null || _phases.Length != _wavelengths.Length) { InitPhases(); } Random.state = randomStateBkp; }