History

Tie shadow frustum to boom offset

Zach Pomerantz committed 10 years ago

Commit 2da2bc61 parent f4925d73 files · +11 −9Browse files

Showing the changes to interface/src/Application.cpp (1 of 3 files). Show all

Unified · Split

interface/src/Application.cpp+7−6
@@ -1380,10 +1380,12 @@ void Application::paintGL() { · 1379 unmodified lines
13801380
13811381 }
13821382
1383+ glm::vec3 boomOffset;
13831384 {
13841385 PerformanceTimer perfTimer("CameraUpdates");
13851386
13861387 auto myAvatar = getMyAvatar();
1388+ boomOffset = myAvatar->getScale() * myAvatar->getBoomLength() * -IDENTITY_FRONT;
13871389
13881390 myAvatar->startCapture();
13891391 if (_myCamera.getMode() == CAMERA_MODE_FIRST_PERSON || _myCamera.getMode() == CAMERA_MODE_THIRD_PERSON) {
@@ -1411,18 +1413,16 @@ void Application::paintGL() { · 21 unmodified lines
14111413 if (isHMDMode()) {
14121414 auto hmdWorldMat = myAvatar->getSensorToWorldMatrix() * myAvatar->getHMDSensorMatrix();
14131415 _myCamera.setRotation(glm::normalize(glm::quat_cast(hmdWorldMat)));
1414− auto worldBoomOffset = myAvatar->getOrientation() * (myAvatar->getScale() * myAvatar->getBoomLength() * glm::vec3(0.0f, 0.0f, 1.0f));
1415− _myCamera.setPosition(extractTranslation(hmdWorldMat) + worldBoomOffset);
1416+ _myCamera.setPosition(extractTranslation(hmdWorldMat) +
1417+ myAvatar->getOrientation() * boomOffset);
14161418 } else {
14171419 _myCamera.setRotation(myAvatar->getHead()->getOrientation());
14181420 if (Menu::getInstance()->isOptionChecked(MenuOption::CenterPlayerInView)) {
14191421 _myCamera.setPosition(myAvatar->getDefaultEyePosition()
1420− + _myCamera.getRotation()
1421− * (myAvatar->getScale() * myAvatar->getBoomLength() * glm::vec3(0.0f, 0.0f, 1.0f)));
1422+ + _myCamera.getRotation() * boomOffset);
14221423 } else {
14231424 _myCamera.setPosition(myAvatar->getDefaultEyePosition()
1424− + myAvatar->getOrientation()
1425− * (myAvatar->getScale() * myAvatar->getBoomLength() * glm::vec3(0.0f, 0.0f, 1.0f)));
1425+ + myAvatar->getOrientation() * boomOffset);
14261426 }
14271427 }
14281428 } else if (_myCamera.getMode() == CAMERA_MODE_MIRROR) {
@@ -1488,6 +1488,7 @@ void Application::paintGL() { · 59 unmodified lines
14881488 {
14891489 PROFILE_RANGE(__FUNCTION__ "/mainRender");
14901490 PerformanceTimer perfTimer("mainRender");
1491+ renderArgs._boomOffset = boomOffset;
14911492 // Viewport is assigned to the size of the framebuffer
14921493 renderArgs._viewport = ivec4(0, 0, size.width(), size.height());
14931494 if (displayPlugin->isStereo()) {