infinite terrain experiments
[shady.git] / world.hpp
blob846cf37bba9f9a585f4e2888e164c127fc10e4d5
2 #ifndef SHADY_WORLD_HPP
3 #define SHADY_WORLD_HPP
5 #include "transform.hpp"
7 class transform;
9 class World {
11 public:
13 World();
15 ~World();
17 /**
18 * Initialize world datastructures.
20 bool init();
22 /**
23 * Render one frame.
25 void render(vec pos) const;
27 /**
28 * Generate a new world.
30 void generate();
32 float heightAt(float x, float y) const;
34 /**
35 * Get the transformation from model space to light space.
36 **/
37 const transform & getLightPosition() const;
39 private:
41 class _Private;
42 _Private * const _p;
46 #endif // SHADY_WORLD_HPP