From 24bf1e20367f73bd41b137d2d0879c77bbe5dab7 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Fri, 20 Sep 2013 17:55:31 -0700 Subject: [PATCH] Don't render neck/neck base when blend face is active. --- interface/src/avatar/Avatar.cpp | 4 ++++ interface/src/avatar/BlendFace.h | 2 ++ interface/src/avatar/MyAvatar.cpp | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 57a754cae1..1d50416b73 100755 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -699,6 +699,10 @@ void Avatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { SKIN_COLOR[1] - _bodyBall[b].touchForce * 0.2f, SKIN_COLOR[2] - _bodyBall[b].touchForce * 0.1f); + if (b == BODY_BALL_NECK_BASE && _head.getBlendFace().isActive()) { + continue; // don't render the neck if we have a face model + } + if ((b != BODY_BALL_HEAD_TOP ) && (b != BODY_BALL_HEAD_BASE )) { glPushMatrix(); diff --git a/interface/src/avatar/BlendFace.h b/interface/src/avatar/BlendFace.h index 937d696edf..5e98650e12 100644 --- a/interface/src/avatar/BlendFace.h +++ b/interface/src/avatar/BlendFace.h @@ -30,6 +30,8 @@ public: BlendFace(Head* owningHead); ~BlendFace(); + bool isActive() const { return _iboID != 0; } + bool render(float alpha); Q_INVOKABLE void setModelURL(const QUrl& url); diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 342a9945ef..16718948f0 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -567,6 +567,10 @@ void MyAvatar::renderBody(bool lookingInMirror, bool renderAvatarBalls) { alpha); } + if (b == BODY_BALL_NECK_BASE && _head.getBlendFace().isActive()) { + continue; // don't render the neck if we have a face model + } + if ((b != BODY_BALL_HEAD_TOP ) && (b != BODY_BALL_HEAD_BASE )) { glPushMatrix();