From b9a8d6080e9d681c3ee0298a66738797c92d8c71 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Fri, 2 Aug 2013 15:43:37 -0700 Subject: [PATCH 1/2] Render world box goes out to edge of world. --- interface/src/Application.cpp | 24 +++++++++++++++--------- interface/src/Util.cpp | 14 +++++++------- interface/src/Util.h | 2 +- interface/src/world.h | 1 - 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index e5330252ac..0240aa50b4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2150,15 +2150,21 @@ void Application::update(float deltaTime) { // If we have clicked on a voxel, update it's color if (_isHoverVoxelSounding) { VoxelNode* hoveredNode = _voxels.getVoxelAt(_hoverVoxel.x, _hoverVoxel.y, _hoverVoxel.z, _hoverVoxel.s); - float bright = _audio.getCollisionSoundMagnitude(); - nodeColor clickColor = { 255 * bright + _hoverVoxelOriginalColor[0] * (1.f - bright), - _hoverVoxelOriginalColor[1] * (1.f - bright), - _hoverVoxelOriginalColor[2] * (1.f - bright), 1 }; - hoveredNode->setColor(clickColor); - if (bright < 0.01f) { - hoveredNode->setColor(_hoverVoxelOriginalColor); + if (hoveredNode) { + float bright = _audio.getCollisionSoundMagnitude(); + nodeColor clickColor = { 255 * bright + _hoverVoxelOriginalColor[0] * (1.f - bright), + _hoverVoxelOriginalColor[1] * (1.f - bright), + _hoverVoxelOriginalColor[2] * (1.f - bright), 1 }; + hoveredNode->setColor(clickColor); + if (bright < 0.01f) { + hoveredNode->setColor(_hoverVoxelOriginalColor); + _isHoverVoxelSounding = false; + } + } else { + // Voxel is not found, clear all _isHoverVoxelSounding = false; - } + _isHoverVoxel = false; + } } else { // Check for a new hover voxel glm::vec4 oldVoxel(_hoverVoxel.x, _hoverVoxel.y, _hoverVoxel.z, _hoverVoxel.s); @@ -2839,7 +2845,7 @@ void Application::displaySide(Camera& whichCamera) { } // Render the world box - if (!_lookingInMirror->isChecked() && _renderStatsOn->isChecked()) { render_world_box(); } + if (!_lookingInMirror->isChecked() && _renderStatsOn->isChecked()) { renderWorldBox(); } // brad's frustum for debugging if (_frustumOn->isChecked()) renderViewFrustum(_viewFrustum); diff --git a/interface/src/Util.cpp b/interface/src/Util.cpp index 5d77c124f4..f39dc91267 100644 --- a/interface/src/Util.cpp +++ b/interface/src/Util.cpp @@ -223,7 +223,7 @@ void noiseTest(int w, int h) { glEnd(); } -void render_world_box() { +void renderWorldBox() { // Show edge of world glDisable(GL_LIGHTING); glColor4f(1.0, 1.0, 1.0, 1.0); @@ -231,28 +231,28 @@ void render_world_box() { glBegin(GL_LINES); glColor3f(1, 0, 0); glVertex3f(0, 0, 0); - glVertex3f(WORLD_SIZE, 0, 0); + glVertex3f(TREE_SCALE, 0, 0); glColor3f(0, 1, 0); glVertex3f(0, 0, 0); - glVertex3f(0, WORLD_SIZE, 0); + glVertex3f(0, TREE_SCALE, 0); glColor3f(0, 0, 1); glVertex3f(0, 0, 0); - glVertex3f(0, 0, WORLD_SIZE); + glVertex3f(0, 0, TREE_SCALE); glEnd(); // Draw little marker dots along the axis glEnable(GL_LIGHTING); glPushMatrix(); - glTranslatef(WORLD_SIZE, 0, 0); + glTranslatef(TREE_SCALE, 0, 0); glColor3f(1, 0, 0); glutSolidSphere(0.125, 10, 10); glPopMatrix(); glPushMatrix(); - glTranslatef(0, WORLD_SIZE, 0); + glTranslatef(0, TREE_SCALE, 0); glColor3f(0, 1, 0); glutSolidSphere(0.125, 10, 10); glPopMatrix(); glPushMatrix(); - glTranslatef(0, 0, WORLD_SIZE); + glTranslatef(0, 0, TREE_SCALE); glColor3f(0, 0, 1); glutSolidSphere(0.125, 10, 10); glPopMatrix(); diff --git a/interface/src/Util.h b/interface/src/Util.h index 67ffebf4b3..6fc797e3e3 100644 --- a/interface/src/Util.h +++ b/interface/src/Util.h @@ -33,7 +33,7 @@ float angle_to(glm::vec3 head_pos, glm::vec3 source_pos, float render_yaw, float float randFloat(); const glm::vec3 randVector(); -void render_world_box(); +void renderWorldBox(); int widthText(float scale, int mono, char const* string); float widthChar(float scale, int mono, char ch); void drawtext(int x, int y, float scale, float rotate, float thick, int mono, diff --git a/interface/src/world.h b/interface/src/world.h index 9a1b506ae2..f53db4ff49 100644 --- a/interface/src/world.h +++ b/interface/src/world.h @@ -12,7 +12,6 @@ #define __interface__world__ -const float WORLD_SIZE = 10.0; #define PIf 3.14159265f const float GRAVITY_EARTH = 9.80665f; From 8aa8b5dbfe128463a6ccea2ffe6dc42439367bb7 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Fri, 2 Aug 2013 16:03:34 -0700 Subject: [PATCH 2/2] Marker lines all the way out to 128Meters --- interface/src/Application.cpp | 2 +- interface/src/Util.cpp | 33 ++++++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0240aa50b4..972c935f64 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -857,7 +857,7 @@ void Application::mouseMoveEvent(QMouseEvent* event) { const bool MAKE_SOUND_ON_VOXEL_HOVER = false; const bool MAKE_SOUND_ON_VOXEL_CLICK = true; -const float HOVER_VOXEL_FREQUENCY = 14080.f; +const float HOVER_VOXEL_FREQUENCY = 7040.f; const float HOVER_VOXEL_DECAY = 0.999f; void Application::mousePressEvent(QMouseEvent* event) { diff --git a/interface/src/Util.cpp b/interface/src/Util.cpp index f39dc91267..61b9b2d7ca 100644 --- a/interface/src/Util.cpp +++ b/interface/src/Util.cpp @@ -224,38 +224,53 @@ void noiseTest(int w, int h) { } void renderWorldBox() { - // Show edge of world + // Show edge of world + float red[] = {1, 0, 0}; + float green[] = {0, 1, 0}; + float blue[] = {0, 0, 1}; + float gray[] = {0.5, 0.5, 0.5}; + glDisable(GL_LIGHTING); - glColor4f(1.0, 1.0, 1.0, 1.0); glLineWidth(1.0); glBegin(GL_LINES); - glColor3f(1, 0, 0); + glColor3fv(red); glVertex3f(0, 0, 0); glVertex3f(TREE_SCALE, 0, 0); - glColor3f(0, 1, 0); + glColor3fv(green); glVertex3f(0, 0, 0); glVertex3f(0, TREE_SCALE, 0); - glColor3f(0, 0, 1); + glColor3fv(blue); glVertex3f(0, 0, 0); glVertex3f(0, 0, TREE_SCALE); + glColor3fv(gray); + glVertex3f(0, 0, TREE_SCALE); + glVertex3f(TREE_SCALE, 0, TREE_SCALE); + glVertex3f(TREE_SCALE, 0, TREE_SCALE); + glVertex3f(TREE_SCALE, 0, 0); glEnd(); - // Draw little marker dots along the axis + // Draw marker dots at very end glEnable(GL_LIGHTING); glPushMatrix(); glTranslatef(TREE_SCALE, 0, 0); - glColor3f(1, 0, 0); + glColor3fv(red); glutSolidSphere(0.125, 10, 10); glPopMatrix(); glPushMatrix(); glTranslatef(0, TREE_SCALE, 0); - glColor3f(0, 1, 0); + glColor3fv(green); glutSolidSphere(0.125, 10, 10); glPopMatrix(); glPushMatrix(); glTranslatef(0, 0, TREE_SCALE); - glColor3f(0, 0, 1); + glColor3fv(blue); glutSolidSphere(0.125, 10, 10); glPopMatrix(); + glPushMatrix(); + glColor3fv(gray); + glTranslatef(TREE_SCALE, 0, TREE_SCALE); + glutSolidSphere(0.125, 10, 10); + glPopMatrix(); + } double diffclock(timeval *clock1,timeval *clock2)