From d472fd66ffb5a95b1b8cb121c69e9c02d223389d Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Mon, 7 Sep 2015 17:26:22 -0700 Subject: [PATCH] Cleanup. --- interface/src/Application.cpp | 2 -- interface/src/avatar/Avatar.cpp | 6 +++--- libraries/avatars/src/AvatarData.cpp | 23 ++--------------------- libraries/avatars/src/AvatarData.h | 6 +++--- 4 files changed, 8 insertions(+), 29 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index eeb6563bb4..ada1260023 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3626,7 +3626,6 @@ void Application::renderRearViewMirror(RenderArgs* renderArgs, const QRect& regi float fov = MIRROR_FIELD_OF_VIEW; // bool eyeRelativeCamera = false; - _myAvatar->startRenderCam(); //FIXME if (billboard) { fov = BILLBOARD_FIELD_OF_VIEW; // degees _mirrorCamera.setPosition(_myAvatar->getPosition() + @@ -3672,7 +3671,6 @@ void Application::renderRearViewMirror(RenderArgs* renderArgs, const QRect& regi viewport = gpu::Vec4i(0, 0, width, height); } renderArgs->_viewport = viewport; - _myAvatar->endRenderCam(); //FIXME // render rear mirror view displaySide(renderArgs, _mirrorCamera, true, billboard); diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 913afbb2af..086178ec6c 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -316,7 +316,7 @@ void Avatar::removeFromScene(AvatarSharedPointer self, std::shared_ptrupdate(); } @@ -391,7 +391,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { } if (frustum->sphereInFrustum(getPosition(), boundingRadius) == ViewFrustum::OUTSIDE) { - endRenderAv(); //FIXME + endRender(); return; } @@ -542,7 +542,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { if (!isMyAvatar() || cameraMode != CAMERA_MODE_FIRST_PERSON) { renderDisplayName(batch, *renderArgs->_viewFrustum, renderArgs->_viewport); } - endRenderAv(); //FIXME + endRender(); } glm::quat Avatar::computeRotationFromBodyToWorldUp(float proportion) const { diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index db8837fb79..2bde964ff2 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -135,7 +135,6 @@ void AvatarData::startCapture() { void AvatarData::endCapture() { avatarLock.unlock(); } - void AvatarData::startUpdate() { avatarLock.lock(); } @@ -143,30 +142,14 @@ void AvatarData::endUpdate() { avatarLock.unlock(); } void AvatarData::startRenderRun() { - _nextPending = true; // FIXME remove here and in .h - //startRender(); // when on: smooth when startRenderCam off; mini-mirror judder (only, both axes) when startRenderCam on + // I'd like to get rid of this and just (un)lock at (end-)startRender. + // But somehow that causes judder in rotations. avatarLock.lock(); } void AvatarData::endRenderRun() { - _nextPending = false; // FIXME remove here and in .h - //endRender(); avatarLock.unlock(); } -void AvatarData::startRenderAv() { - startRender(); // when on: small rotate judder in all views when starRenderCam off; big rotate judder in all views (and mini-mirror forward judder) when startRenderCam on -} -void AvatarData::endRenderAv() { - endRender(); -} -void AvatarData::startRenderCam() { - //startRender(); -} -void AvatarData::endRenderCam() { - //endRender(); -} void AvatarData::startRender() { - //avatarLock.lock(); - _nextPending = true; // FIXME remove here and in .h glm::vec3 pos = getPosition(); glm::quat rot = getOrientation(); setPosition(_nextPosition, true); @@ -176,12 +159,10 @@ void AvatarData::startRender() { _nextOrientation = rot; } void AvatarData::endRender() { - _nextPending = false; // FIXME remove here and in .h setPosition(_nextPosition, true); setOrientation(_nextOrientation, true); updateAttitude(); _nextAllowed = true; - //avatarLock.unlock(); } float AvatarData::getTargetScale() const { diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 2b557e79b1..15be97c22e 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -204,8 +204,9 @@ public: void endCapture(); void startUpdate(); // start/end of update iteration void endUpdate(); - void startRender(); // start/end of rendering - void startRenderRun(); void endRenderRun(); void startRenderAv(); void endRenderAv(); void startRenderCam(); void endRenderCam(); + void startRender(); // start/end of rendering of this object + void startRenderRun(); // start/end of entire scene. + void endRenderRun(); void endRender(); virtual void updateAttitude() {} // Tell skeleton mesh about changes @@ -371,7 +372,6 @@ protected: glm::vec3 _nextPosition {}; glm::quat _nextOrientation {}; - bool _nextPending = false; bool _nextAllowed = true; // Body scale