public void SetConvolutionImplementation(ConvolutionImplementation implementation) { if (implementation == _convolutionImplementationChoice) { return; } _heightFieldGenerator = ConvEnumToInstance(_convolutionImplementationChoice); _heightFieldGenerator.Initialise(_extendedHeightField.heightFieldInfo, _particleContainer); }
public WaveParticleSystem(float particleSpeed, float particleRadius, int maxNumParticles, int horRes, int vertRes, float height, float width, float waveParticleKillThreshold) { _particleSpeed = particleSpeed; _particleRadius = particleRadius; _numParticles = maxNumParticles; _waveParticleKillThreshold = waveParticleKillThreshold; _currentFrame = 0; // TODO: move all relvant code to do with this to here! _frameCycleLength = WaveParticle.FRAME_CYCLE_LENGTH; _extendedHeightField = new ExtendedHeightField(width, height, horRes, vertRes); _extendedHeightField.Clear(); _particleContainer = SplatEnumToInstance(_splatImplementationChoice); _particleContainer.Initialise(maxNumParticles, waveParticleKillThreshold); _heightFieldGenerator = ConvEnumToInstance(_convolutionImplementationChoice); _heightFieldGenerator.Initialise(_extendedHeightField.heightFieldInfo, _particleContainer); }