projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
writing mesh data to GPU
[demo]
/
src
/
terrain.h
diff --git
a/src/terrain.h
b/src/terrain.h
index
bf9df09
..
337a03b
100644
(file)
--- a/
src/terrain.h
+++ b/
src/terrain.h
@@
-1,8
+1,9
@@
#ifndef TERRAIN_H_
#define TERRAIN_H_
#ifndef TERRAIN_H_
#define TERRAIN_H_
+#include "image.h"
+
class Camera;
class Camera;
-class Image;
class Scene;
// terrain 8a ftiaxnei skini k taisma renderer
class Scene;
// terrain 8a ftiaxnei skini k taisma renderer
@@
-25,7
+26,7
@@
struct TerrainParams {
int tile_vsub;
int num_octaves; /* Perlin noise sums */
float noise_freq; /* Perlin noise scaling factor */
int tile_vsub;
int num_octaves; /* Perlin noise sums */
float noise_freq; /* Perlin noise scaling factor */
- Image *coarse_heightmap; /* mask for low detail heightmap */
+ Image coarse_heightmap; /* mask for low detail heightmap */
};
class Terrain {
};
class Terrain {
@@
-34,7
+35,7
@@
private:
mutable Scene *vis_scene; /* set of visible tiles returned by get_visible */
std::vector<TerrainTile> tiles;
mutable Scene *vis_scene; /* set of visible tiles returned by get_visible */
std::vector<TerrainTile> tiles;
-
+
public:
Material material;
public:
Material material;
@@
-46,6
+47,9
@@
public:
bool generate(const TerrainParams ¶ms);
Scene *get_visible(const Camera *camera) const;
bool generate(const TerrainParams ¶ms);
Scene *get_visible(const Camera *camera) const;
+
+ float get_height(float u, float v) const;
+ float get_height(const Vec3 &pos) const; /* world coordinates */
};
#endif // TERRAIN_H_
\ No newline at end of file
};
#endif // TERRAIN_H_
\ No newline at end of file