I tried ofSeedRandom() but this doesn’t appear to have affected the ofNoise() at all. I think it only affects ofRandom().
For example, when looking at the noise1dOctave example, they seem to just pass a different coordinate to the noise seed for each “octave” of noise they want.
// Add the most recent data, the noise value.
// Here's where we actually fetch the noise, using ofNoise().
// Note how ofNoise() requires an argument ('t'); this is
// the coordinate (on a one-dimensional axis) whose
// corresponding noise value we wish to obtain.
float noiseStep = noiseDataStripGroup[i].noiseStep;
float t = (ofGetElapsedTimeMillis()/10.0 + i) * noiseStep;
data[0] = ofNoise(t);
noiseStep here is multiplied by 2 for each successive octave. So the octaves are “moving” slower or faster, but using the same seed of noise.
Running my own example, here’s what I wrote:
ofSeedRandom();
printf("%f, %f, %f\n", ofNoise(1), ofRandom(1), ofRandom(1));
ofSeedRandom();
printf("%f, %f\n", ofNoise(1), ofRandom(1));
yields the following output:
0.500000, 0.100819, 0.472745
0.500000, 0.100694
So yes, noise isn’t affected by random seeds.
So it seems the only thing openFrameworks can do is to use the same noise seed at a different point.
would love to see this feature!