X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Fterrain.h;h=bf9df09d5b4591a9c2a93dfd958e9f9bed2c66b7;hp=f2ecd693d8ead7afd2134f4fd3386bdba994476e;hb=243eb502c5dc70e586a9e81815234069bf623480;hpb=197f20b5d4db937029f7b585be23ee7fe5da66dc diff --git a/src/terrain.h b/src/terrain.h index f2ecd69..bf9df09 100644 --- a/src/terrain.h +++ b/src/terrain.h @@ -10,6 +10,7 @@ class TerrainTile { private: Mesh *mesh; + friend class Terrain; }; /* parameters needed in terrain generation */ @@ -23,6 +24,7 @@ struct TerrainParams { int tile_usub; int tile_vsub; int num_octaves; /* Perlin noise sums */ + float noise_freq; /* Perlin noise scaling factor */ Image *coarse_heightmap; /* mask for low detail heightmap */ }; @@ -34,9 +36,14 @@ private: std::vector tiles; public: + Material material; + Terrain(); ~Terrain(); + bool init(); + void destroy(); + bool generate(const TerrainParams ¶ms); Scene *get_visible(const Camera *camera) const; };