diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index b9fec9c48d..78ea7f950c 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -218,19 +218,19 @@ void Head::render(int faceToFace, float * myLocation) glm::vec3 cameraHead(myLocation[0], myLocation[1], myLocation[2]); float distanceToCamera = glm::distance(cameraHead, position); + // Always render own hand, but don't render head unless showing face2face + glEnable(GL_DEPTH_TEST); + glPushMatrix(); + + glScalef(scale, scale, scale); + glTranslatef(leanSideways, 0.f, leanForward); + + glRotatef(Yaw, 0, 1, 0); + + hand->render(); // Don't render a head if it is really close to your location, because that is your own head! if ((distanceToCamera > 1.0) || faceToFace) { - glEnable(GL_DEPTH_TEST); - glPushMatrix(); - - - glScalef(scale, scale, scale); - glTranslatef(leanSideways, 0.f, leanForward); - - glRotatef(Yaw, 0, 1, 0); - - hand->render(); glRotatef(Pitch, 1, 0, 0); glRotatef(Roll, 0, 0, 1); @@ -335,9 +335,9 @@ void Head::render(int faceToFace, float * myLocation) glutSolidSphere(PupilSize, 15, 15); glPopMatrix(); - glPopMatrix(); + } - + glPopMatrix(); } // Transmit data to agents requesting it diff --git a/interface/src/main.cpp b/interface/src/main.cpp index c4846becc4..f7b3106b4b 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -578,14 +578,12 @@ void display(void) if (!display_head && stats_on) render_world_box(); // Render my own head - - if (display_head) { - glPushMatrix(); - glLoadIdentity(); - glTranslatef(0.f, 0.f, -7.f); - myHead.render(1, &location[0]); - glPopMatrix(); - } + glPushMatrix(); + glLoadIdentity(); + glTranslatef(0.f, 0.f, -7.f); + myHead.render(display_head, &location[0]); + glPopMatrix(); + //glm::vec3 test(0.5, 0.5, 0.5); //render_vector(&test);