From 595ac4744b75688f7ca61993c42ea9eedab3a6b7 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sun, 8 May 2011 15:52:41 +0200 Subject: Merged Quadtree and friends into Terrain. --- scene.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'scene.cpp') diff --git a/scene.cpp b/scene.cpp index 8d7301d..e749347 100644 --- a/scene.cpp +++ b/scene.cpp @@ -16,7 +16,7 @@ Scene::Scene() { running = true; grid = false; normals = false; - terrain = true; + render_terrain = true; gravity = true; last_node = NULL; @@ -48,8 +48,8 @@ Scene::Scene() { soil_texture = load_texture("textures/zooboing-469-sand-modified.jpg"); marker_texture = load_texture("textures/cross.png"); - /* init quadtree */ - qt = new Quadtree(); + /* init terrain */ + terrain = new Terrain(); /* load font */ font = new FTTextureFont("fonts/VeraMono.ttf"); @@ -61,8 +61,8 @@ Scene::Scene() { Scene::~Scene() { if(tool) delete tool; - if(qt) - delete qt; + if(terrain) + delete terrain; delete font; } @@ -129,7 +129,7 @@ bool Scene::select(int x, int y, float& px, float& py, float& pz) { } void Scene::update() { - qt->update(pos.x, pos.z); + terrain->update(pos.x, pos.z); } void Scene::events() { @@ -158,7 +158,7 @@ void Scene::events() { normals = !normals; break; case SDLK_t: - terrain = !terrain; + render_terrain = !render_terrain; break; case SDLK_SPACE: yvel = .05; @@ -174,7 +174,7 @@ void Scene::events() { break; case SDLK_1: if(tool) delete tool; - tool = new RaiseTool(qt); + tool = new RaiseTool(terrain); break; default: break; @@ -284,7 +284,7 @@ void Scene::render() { } std::string move_str; - Quadtree::QuadNode *node = qt->find(pos.x, pos.z); + Terrain::Node *node = terrain->find(pos.x, pos.z); if(node) { if(gravity) { float y = node->get_height(pos.x, pos.z); @@ -316,7 +316,7 @@ void Scene::render() { //glLightfv(GL_LIGHT0, GL_POSITION, light_pos); unsigned int chunks_rendered = 0; - if(terrain) { + if(render_terrain) { terrain_program.use(); GLint show_sel = glGetUniformLocation(terrain_program.get_program(), "show_sel"); glUniform1i(show_sel, show_selection ? 1 : 0); @@ -346,8 +346,8 @@ void Scene::render() { while(!q.empty()) { Quadtree::QuadChunk *chunk = q.front(); q.pop();*/ - for(std::list::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) { - Quadtree::QuadChunk *chunk = *it; + for(std::list::iterator it = terrain->chunks.begin(); it != terrain->chunks.end(); it++) { + Terrain::Chunk *chunk = *it; /*if(!chunk->nodes) { for(int i = 0; i < 4; i++) q.push(chunk->children[i]); @@ -390,8 +390,8 @@ void Scene::render() { while(!q.empty()) { Quadtree::QuadChunk *chunk = q.front(); q.pop();*/ - for(std::list::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) { - Quadtree::QuadChunk *chunk = *it; + for(std::list::iterator it = terrain->chunks.begin(); it != terrain->chunks.end(); it++) { + Terrain::Chunk *chunk = *it; glPushMatrix(); glTranslatef(-pos.x, -pos.y, -pos.z); /*if(!chunk->nodes) { @@ -406,8 +406,8 @@ void Scene::render() { } } if(normals) { - for(std::list::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) { - Quadtree::QuadChunk *chunk = *it; + for(std::list::iterator it = terrain->chunks.begin(); it != terrain->chunks.end(); it++) { + Terrain::Chunk *chunk = *it; glPushMatrix(); glTranslatef(-pos.x, -pos.y, -pos.z); for(unsigned int i = 0; i < chunk->node_count; i++) -- cgit v1.2.3