summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-04-02 20:14:35 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2011-04-02 20:14:35 +0200
commit156683c7cbcd697f09f5101fd14c01051928edb8 (patch)
treefce7926feac72a80ac23519ee847a83a05b47bd8 /main.cpp
parent94c77b14469c9122d945eb1cf337507ff74c2fb6 (diff)
Started work on dynamic merging and subdivision.
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/main.cpp b/main.cpp
index f836cf3..ae1b471 100644
--- a/main.cpp
+++ b/main.cpp
@@ -78,6 +78,7 @@ int main(int argc, char **argv) {
/*boost::timer t;
double last_time = 0;*/
Vector3 selected;
+ Quadtree::QuadNode *node;
while(running) {
unsigned int time = SDL_GetTicks();
//double time = t.elapsed();
@@ -110,6 +111,16 @@ int main(int argc, char **argv) {
scene.qt->create_nodes(scene.qt->levels-1);
}
break;
+ case SDLK_KP_MULTIPLY:
+ node = scene.qt->find(scene.pos.x, scene.pos.z);
+ node->parent->merge();
+ scene.qt->make_vbo();
+ break;
+ case SDLK_KP_DIVIDE:
+ node = scene.qt->find(scene.pos.x, scene.pos.z);
+ node->subdivide();
+ scene.qt->make_vbo();
+ break;
case SDLK_SPACE:
scene.yvel = .05;
break;
@@ -200,6 +211,8 @@ int main(int argc, char **argv) {
move_str = (boost::format("%s %.2f,%.2f %.2fx%.2f %d") % scene.pos.str() % node->x % node->y % node->width % node->height % node->level).str();
}
+ scene.update();
+
scene.lookat();
glEnable(GL_LIGHTING);