diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 084b1f8c85..0df2f2d41c 100755 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -723,7 +723,7 @@ void Avatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { // Always render other people, and render myself when beyond threshold distance if (b == BODY_BALL_HEAD_BASE) { // the head is rendered as a special if (alpha > 0.0f) { - _head.render(alpha); + _head.render(alpha, false); } } else if (alpha > 0.0f) { // Render the body ball sphere @@ -767,7 +767,7 @@ void Avatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { float alpha = getBallRenderAlpha(BODY_BALL_HEAD_BASE, lookingInMirror); if (alpha > 0.0f) { _voxels.render(false); - _head.render(alpha); + _head.render(alpha, false); } } _hand.render(lookingInMirror); diff --git a/interface/src/avatar/Head.cpp b/interface/src/avatar/Head.cpp index af6133460f..9c86f92e2b 100644 --- a/interface/src/avatar/Head.cpp +++ b/interface/src/avatar/Head.cpp @@ -322,7 +322,7 @@ void Head::calculateGeometry() { + up * _scale * NOSE_UPTURN; } -void Head::render(float alpha) { +void Head::render(float alpha, bool isMine) { _renderAlpha = alpha; if (!_face.render(alpha)) { @@ -331,7 +331,7 @@ void Head::render(float alpha) { glEnable(GL_DEPTH_TEST); glEnable(GL_RESCALE_NORMAL); - if (Menu::getInstance()->isOptionChecked(MenuOption::UsePerlinFace)) { + if (Menu::getInstance()->isOptionChecked(MenuOption::UsePerlinFace) && isMine) { _perlinFace.render(); } else { renderMohawk(); diff --git a/interface/src/avatar/Head.h b/interface/src/avatar/Head.h index 496fdecef6..90d4507c7b 100644 --- a/interface/src/avatar/Head.h +++ b/interface/src/avatar/Head.h @@ -43,7 +43,7 @@ public: void init(); void reset(); void simulate(float deltaTime, bool isMine, float gyroCameraSensitivity); - void render(float alpha); + void render(float alpha, bool isMine); void renderMohawk(); void setScale(float scale); diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 0dcfe32236..c9d0dd37bc 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -557,7 +557,7 @@ void MyAvatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { // Always render other people, and render myself when beyond threshold distance if (b == BODY_BALL_HEAD_BASE) { // the head is rendered as a special if (alpha > 0.0f) { - _head.render(alpha); + _head.render(alpha, true); } } else if (alpha > 0.0f) { // Render the body ball sphere @@ -614,7 +614,7 @@ void MyAvatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { float alpha = getBallRenderAlpha(BODY_BALL_HEAD_BASE, lookingInMirror); if (alpha > 0.0f) { _voxels.render(false); - _head.render(alpha); + _head.render(alpha, true); } } _hand.render(lookingInMirror);