Merge pull request #3199 from ey6es/master

Fix for shadows in close-up inset mirror.
This commit is contained in:
Philip Rosedale 2014-07-23 17:49:55 -07:00
commit f05855dcc2

View file

@ -2982,6 +2982,13 @@ void Application::renderRearViewMirror(const QRect& region, bool billboard) {
attachment->setTranslation(attachment->getTranslation() + delta);
}
// and lo, even the shadow matrices
glm::mat4 savedShadowMatrices[CASCADED_SHADOW_MATRIX_COUNT];
for (int i = 0; i < CASCADED_SHADOW_MATRIX_COUNT; i++) {
savedShadowMatrices[i] = _shadowMatrices[i];
_shadowMatrices[i] = glm::transpose(glm::transpose(_shadowMatrices[i]) * glm::translate(-delta));
}
displaySide(_mirrorCamera, true);
// restore absolute translations
@ -2990,6 +2997,11 @@ void Application::renderRearViewMirror(const QRect& region, bool billboard) {
for (int i = 0; i < absoluteAttachmentTranslations.size(); i++) {
_myAvatar->getAttachmentModels().at(i)->setTranslation(absoluteAttachmentTranslations.at(i));
}
// restore the shadow matrices
for (int i = 0; i < CASCADED_SHADOW_MATRIX_COUNT; i++) {
_shadowMatrices[i] = savedShadowMatrices[i];
}
} else {
displaySide(_mirrorCamera, true);
}