fixed terrain rendering - visualized normals
[demo] / src / terrain.h
index f2ecd69..bf9df09 100644 (file)
@@ -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<TerrainTile> tiles;
        
 public:
+       Material material;
+
        Terrain();
        ~Terrain();
 
+       bool init();
+       void destroy();
+
        bool generate(const TerrainParams &params);
        Scene *get_visible(const Camera *camera) const;
 };