summaryrefslogtreecommitdiff
path: root/scene.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-05-08 15:52:41 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2011-05-08 15:52:41 +0200
commit595ac4744b75688f7ca61993c42ea9eedab3a6b7 (patch)
tree89f7e10b47fb4e709d2896d5e366305ec3a3ced8 /scene.cpp
parent7d5c1adf8e581599848b3fec54e0af88eb469046 (diff)
Merged Quadtree and friends into Terrain.
Diffstat (limited to 'scene.cpp')
-rw-r--r--scene.cpp32
1 files changed, 16 insertions, 16 deletions
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<Quadtree::QuadChunk*>::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) {
- Quadtree::QuadChunk *chunk = *it;
+ for(std::list<Terrain::Chunk*>::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<Quadtree::QuadChunk*>::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) {
- Quadtree::QuadChunk *chunk = *it;
+ for(std::list<Terrain::Chunk*>::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<Quadtree::QuadChunk*>::iterator it = qt->chunks.begin(); it != qt->chunks.end(); it++) {
- Quadtree::QuadChunk *chunk = *it;
+ for(std::list<Terrain::Chunk*>::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++)