This commit is contained in:
Howard Stearns 2015-09-07 17:26:22 -07:00
parent efeaf21305
commit d472fd66ff
4 changed files with 8 additions and 29 deletions

View file

@ -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);

View file

@ -316,7 +316,7 @@ void Avatar::removeFromScene(AvatarSharedPointer self, std::shared_ptr<render::S
}
void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) {
startRenderAv(); //FIXME
startRender();
if (_referential) {
_referential->update();
}
@ -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 {

View file

@ -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 {

View file

@ -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