ソースを参照

pnmimage: Add offset parameters to PNMImage::perlin_noise_fill()

rdb 3 年 前
コミット
a1538b4f7c
2 ファイル変更5 行追加3 行削除
  1. 3 2
      panda/src/pnmimage/pnmImage.cxx
  2. 2 1
      panda/src/pnmimage/pnmImage.h

+ 3 - 2
panda/src/pnmimage/pnmImage.cxx

@@ -1980,13 +1980,14 @@ quantize(size_t max_colors) {
  * PerlinNoise2 class in mathutil.
  */
 void PNMImage::
-perlin_noise_fill(float sx, float sy, int table_size, unsigned long seed) {
+perlin_noise_fill(float sx, float sy, int table_size, unsigned long seed,
+                  float ox, float oy) {
   float x, y;
   float noise;
   PerlinNoise2 perlin (sx * _x_size, sy * _y_size, table_size, seed);
   for (x = 0; x < _x_size; ++x) {
     for (y = 0; y < _y_size; ++y) {
-      noise = perlin.noise(x, y);
+      noise = perlin.noise(x + ox, y + oy);
       set_xel(x, y, 0.5 * (noise + 1.0));
     }
   }

+ 2 - 1
panda/src/pnmimage/pnmImage.h

@@ -258,7 +258,8 @@ PUBLISHED:
   void make_histogram(Histogram &hist);
   void quantize(size_t max_colors);
   BLOCKING void perlin_noise_fill(float sx, float sy, int table_size = 256,
-                                  unsigned long seed = 0);
+                                  unsigned long seed = 0,
+                                  float ox = 0, float oy = 0);
   void perlin_noise_fill(StackedPerlinNoise2 &perlin);
 
   void remix_channels(const LMatrix4 &conv);