| 1234567891011121314151617181920212223242526272829303132333435 |
- #include "ShapedNoise.h"
- ShapedNoise::ShapedNoise(Noise* delegateNoise)
- : delegateNoise(delegateNoise),
- neighborOffset(1)
- {}
- ShapedNoise ::~ShapedNoise()
- {
- delegateNoise->release();
- }
- void ShapedNoise::setNeighborOffset(double offset)
- {
- neighborOffset = offset;
- }
- double ShapedNoise::getNoise(double x, double y, double z)
- {
- double max = 0;
- double noise = delegateNoise->getNoise(x, y, z);
- double value
- = abs(noise - delegateNoise->getNoise(x + neighborOffset, y, z));
- max = MAX(max, value);
- value = abs(noise - delegateNoise->getNoise(x, y + neighborOffset, z));
- max = MAX(max, value);
- value = abs(noise - delegateNoise->getNoise(x, y, z + neighborOffset));
- max = MAX(max, value);
- return max;
- }
- int ShapedNoise::getSeed() const
- {
- return delegateNoise->getSeed();
- }
|