| 133 | PerlinNoise3D<float> density1, density2, shape; |
| 134 | |
| 135 | DistributionCluster(MersenneRNG &rng) : Distribution(rng, 96) { |
| 136 | density1.init(rng); |
| 137 | density2.init(rng); |
| 138 | shape.init(rng); |
| 139 | } |
| 140 | |
| 141 | float eval(float x, float y, float z) { |
| 142 | return 0.2f * density1(x/96, y/96, z/32) |