Implement perlin frequency

This commit is contained in:
CJSatnarine
2024-07-09 17:36:11 -04:00
parent b3e5adb4a2
commit 3bbb02ee94
5 changed files with 353906 additions and 353903 deletions

Binary file not shown.

707802
image.ppm

File diff suppressed because it is too large Load Diff

View File

@@ -146,7 +146,7 @@ void funny() {
void perlinSpheres() { void perlinSpheres() {
hittableList world; hittableList world;
auto perlinTexture = make_shared<noiseTexture>(); auto perlinTexture = make_shared<noiseTexture>(4);
world.add(make_shared<sphere>(point3(0,-1000,0), 1000, make_shared<lambertian>(perlinTexture))); world.add(make_shared<sphere>(point3(0,-1000,0), 1000, make_shared<lambertian>(perlinTexture)));
world.add(make_shared<sphere>(point3(0,2,0), 2, make_shared<lambertian>(perlinTexture))); world.add(make_shared<sphere>(point3(0,2,0), 2, make_shared<lambertian>(perlinTexture)));

View File

@@ -77,12 +77,15 @@ class noiseTexture : public texture {
public: public:
noiseTexture() {} noiseTexture() {}
noiseTexture(double scale) : scale(scale) {}
colour value(double u, double v, const point3& p) const override { colour value(double u, double v, const point3& p) const override {
return colour(1,1,1) * noise.noise(p); return colour(1,1,1) * noise.noise(scale * p);
} }
private: private:
perlin noise; perlin noise;
double scale;
}; };
#endif #endif