summaryrefslogtreecommitdiff
path: root/scene.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene.cpp')
-rw-r--r--scene.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/scene.cpp b/scene.cpp
index b8f7268..bf49c57 100644
--- a/scene.cpp
+++ b/scene.cpp
@@ -316,15 +316,18 @@ void Scene::render() {
//glLightfv(GL_LIGHT0, GL_POSITION, light_pos);
if(render_terrain) {
+ const float fog_color[4] = {1, 1, 1, 0};
+ glFogfv(GL_FOG_COLOR, fog_color);
terrain_program.use();
GLint show_sel = glGetUniformLocation(terrain_program.get_program(), "show_sel");
glUniform1i(show_sel, show_selection ? 1 : 0);
- GLint chunk_pos;
if(show_selection) {
GLint selpos = glGetUniformLocation(terrain_program.get_program(), "selpos");
glUniform3f(selpos, selected.x, selected.y, selected.z);
- chunk_pos = glGetUniformLocation(terrain_program.get_program(), "chunk_pos");
}
+ GLint chunk_pos = glGetUniformLocation(terrain_program.get_program(), "chunk_pos");
+ GLint player_pos = glGetUniformLocation(terrain_program.get_program(), "player_pos");
+ glUniform3f(player_pos, pos.x, pos.y, pos.z);
glEnable(GL_TEXTURE_2D);
@@ -355,8 +358,7 @@ void Scene::render() {
continue;*/
glPushMatrix();
glTranslatef(-pos.x + chunk->x, -pos.y, -pos.z + chunk->y);
- if(show_selection)
- glUniform2f(chunk_pos, chunk->x, chunk->y);
+ glUniform2f(chunk_pos, chunk->x, chunk->y);
glBindBuffer(GL_ARRAY_BUFFER, chunk->vbo_object);
glVertexPointer(3, GL_FLOAT, 0, NULL);
@@ -423,6 +425,27 @@ void Scene::render() {
show_selection = true;
}
+ glDisable(GL_TEXTURE_2D);
+
+ glPushMatrix();
+ glTranslatef(700*cosf(yaw), 0, 700*sinf(yaw));
+ glRotatef(-yaw*180/M_PI+180, 0, 1, 0);
+ glBegin(GL_QUADS);
+ glColor3f(1, 1, 1);
+ glVertex3f(0, 0, -700);
+ glVertex3f(0, 0, 700);
+ glColor3f(.5, .5, 1);
+ glVertex3f(0, 550, 700);
+ glVertex3f(0, 550, -700);
+
+ glVertex3f(0, 550, -700);
+ glVertex3f(0, 550, 700);
+ glColor3f(0, 0, .3);
+ glVertex3f(1000, 550, 700);
+ glVertex3f(1000, 550, -700);
+ glEnd();
+ glPopMatrix();
+
video::ortho();
float height = font->LineHeight();
glColor3f(1, 1, 1);