Showing the changes to interface/src/Menu.cpp (1 of 158 files). Show all
Unified · Split
| @@ -109,8 +109,7 @@ Menu::Menu() : · 108 unmodified lines | |||
| 109 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) | 109 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) |
| 110 | _speechRecognizer(), | 110 | _speechRecognizer(), |
| 111 | #endif | 111 | #endif |
| 112 | _maxVoxels(DEFAULT_MAX_VOXELS_PER_SYSTEM), | 112 | _octreeSizeScale(DEFAULT_OCTREE_SIZE_SCALE), |
| 113 | _voxelSizeScale(DEFAULT_OCTREE_SIZE_SCALE), | ||
| 114 | _oculusUIAngularSize(DEFAULT_OCULUS_UI_ANGULAR_SIZE), | 113 | _oculusUIAngularSize(DEFAULT_OCULUS_UI_ANGULAR_SIZE), |
| 115 | _sixenseReticleMoveSpeed(DEFAULT_SIXENSE_RETICLE_MOVE_SPEED), | 114 | _sixenseReticleMoveSpeed(DEFAULT_SIXENSE_RETICLE_MOVE_SPEED), |
| 116 | _invertSixenseButtons(DEFAULT_INVERT_SIXENSE_MOUSE_BUTTONS), | 115 | _invertSixenseButtons(DEFAULT_INVERT_SIXENSE_MOUSE_BUTTONS), |
| @@ -119,7 +118,7 @@ Menu::Menu() : · 2 unmodified lines | |||
| 119 | _avatarLODIncreaseFPS(ADJUST_LOD_UP_FPS), | 118 | _avatarLODIncreaseFPS(ADJUST_LOD_UP_FPS), |
| 120 | _avatarLODDistanceMultiplier(DEFAULT_AVATAR_LOD_DISTANCE_MULTIPLIER), | 119 | _avatarLODDistanceMultiplier(DEFAULT_AVATAR_LOD_DISTANCE_MULTIPLIER), |
| 121 | _boundaryLevelAdjust(0), | 120 | _boundaryLevelAdjust(0), |
| 122 | _maxVoxelPacketsPerSecond(DEFAULT_MAX_VOXEL_PPS), | 121 | _maxOctreePacketsPerSecond(DEFAULT_MAX_OCTREE_PPS), |
| 123 | _lastAdjust(usecTimestampNow()), | 122 | _lastAdjust(usecTimestampNow()), |
| 124 | _lastAvatarDetailDrop(usecTimestampNow()), | 123 | _lastAvatarDetailDrop(usecTimestampNow()), |
| 125 | _fpsAverage(FIVE_SECONDS_OF_FRAMES), | 124 | _fpsAverage(FIVE_SECONDS_OF_FRAMES), |
| @@ -316,8 +315,6 @@ Menu::Menu() : · 190 unmodified lines | |||
| 316 | avatar, SLOT(onToggleRagdoll())); | 315 | avatar, SLOT(onToggleRagdoll())); |
| 317 | addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithAvatars, | 316 | addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithAvatars, |
| 318 | 0, true, avatar, SLOT(updateCollisionGroups())); | 317 | 0, true, avatar, SLOT(updateCollisionGroups())); |
| 319 | addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithVoxels, | ||
| 320 | 0, false, avatar, SLOT(updateCollisionGroups())); | ||
| 321 | addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithEnvironment, | 318 | addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithEnvironment, |
| 322 | 0, false, avatar, SLOT(updateCollisionGroups())); | 319 | 0, false, avatar, SLOT(updateCollisionGroups())); |
| 323 | 320 | ||
| @@ -391,6 +388,9 @@ Menu::Menu() : · 67 unmodified lines | |||
| 391 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Avatars, 0, true); | 388 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Avatars, 0, true); |
| 392 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Metavoxels, 0, true); | 389 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Metavoxels, 0, true); |
| 393 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Entities, 0, true); | 390 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Entities, 0, true); |
| 391 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::AmbientOcclusion); | ||
| 392 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::DontFadeOnOctreeServerChanges); | ||
| 393 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::DisableAutoAdjustLOD); | ||
| 394 | 394 | ||
| 395 | QMenu* shadowMenu = renderOptionsMenu->addMenu("Shadows"); | 395 | QMenu* shadowMenu = renderOptionsMenu->addMenu("Shadows"); |
| 396 | QActionGroup* shadowGroup = new QActionGroup(shadowMenu); | 396 | QActionGroup* shadowGroup = new QActionGroup(shadowMenu); |
| @@ -425,12 +425,6 @@ Menu::Menu() : · 28 unmodified lines | |||
| 425 | resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false)); | 425 | resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false)); |
| 426 | 426 | ||
| 427 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, Qt::Key_Asterisk, true); | 427 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, Qt::Key_Asterisk, true); |
| 428 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, | ||
| 429 | MenuOption::Voxels, | ||
| 430 | Qt::SHIFT | Qt::Key_V, | ||
| 431 | true, | ||
| 432 | appInstance, | ||
| 433 | SLOT(setRenderVoxels(bool))); | ||
| 434 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::EnableGlowEffect, 0, true, | 428 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::EnableGlowEffect, 0, true, |
| 435 | DependencyManager::get<GlowEffect>().data(), SLOT(toggleGlowEffect(bool))); | 429 | DependencyManager::get<GlowEffect>().data(), SLOT(toggleGlowEffect(bool))); |
| 436 | 430 | ||
| @@ -457,12 +451,6 @@ Menu::Menu() : · 20 unmodified lines | |||
| 457 | addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtVectors, 0, false); | 451 | addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtVectors, 0, false); |
| 458 | addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderFocusIndicator, 0, false); | 452 | addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderFocusIndicator, 0, false); |
| 459 | 453 | ||
| 460 | QMenu* voxelOptionsMenu = developerMenu->addMenu("Voxels"); | ||
| 461 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); | ||
| 462 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion); | ||
| 463 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontFadeOnVoxelServerChanges); | ||
| 464 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DisableAutoAdjustLOD); | ||
| 465 | |||
| 466 | QMenu* metavoxelOptionsMenu = developerMenu->addMenu("Metavoxels"); | 454 | QMenu* metavoxelOptionsMenu = developerMenu->addMenu("Metavoxels"); |
| 467 | addCheckableActionToQMenuAndActionHash(metavoxelOptionsMenu, MenuOption::DisplayHermiteData, 0, false, | 455 | addCheckableActionToQMenuAndActionHash(metavoxelOptionsMenu, MenuOption::DisplayHermiteData, 0, false, |
| 468 | Application::getInstance()->getMetavoxels(), SLOT(refreshVoxelData())); | 456 | Application::getInstance()->getMetavoxels(), SLOT(refreshVoxelData())); |
| @@ -636,11 +624,6 @@ Menu::Menu() : · 167 unmodified lines | |||
| 636 | 624 | ||
| 637 | connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled())); | 625 | connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled())); |
| 638 | 626 | ||
| 639 | addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel, | ||
| 640 | Qt::CTRL | Qt::SHIFT | Qt::Key_V, | ||
| 641 | this, | ||
| 642 | SLOT(pasteToVoxel())); | ||
| 643 | |||
| 644 | #ifndef Q_OS_MAC | 627 | #ifndef Q_OS_MAC |
| 645 | QMenu* helpMenu = addMenu("Help"); | 628 | QMenu* helpMenu = addMenu("Help"); |
| 646 | QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp); | 629 | QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp); |
| @@ -681,9 +664,8 @@ void Menu::loadSettings(QSettings* settings) { · 34 unmodified lines | |||
| 681 | _realWorldFieldOfView = loadSetting(settings, "realWorldFieldOfView", DEFAULT_REAL_WORLD_FIELD_OF_VIEW_DEGREES); | 664 | _realWorldFieldOfView = loadSetting(settings, "realWorldFieldOfView", DEFAULT_REAL_WORLD_FIELD_OF_VIEW_DEGREES); |
| 682 | _faceshiftEyeDeflection = loadSetting(settings, "faceshiftEyeDeflection", DEFAULT_FACESHIFT_EYE_DEFLECTION); | 665 | _faceshiftEyeDeflection = loadSetting(settings, "faceshiftEyeDeflection", DEFAULT_FACESHIFT_EYE_DEFLECTION); |
| 683 | _faceshiftHostname = settings->value("faceshiftHostname", DEFAULT_FACESHIFT_HOSTNAME).toString(); | 666 | _faceshiftHostname = settings->value("faceshiftHostname", DEFAULT_FACESHIFT_HOSTNAME).toString(); |
| 684 | _maxVoxels = loadSetting(settings, "maxVoxels", DEFAULT_MAX_VOXELS_PER_SYSTEM); | 667 | _maxOctreePacketsPerSecond = loadSetting(settings, "maxOctreePPS", DEFAULT_MAX_OCTREE_PPS); |
| 685 | _maxVoxelPacketsPerSecond = loadSetting(settings, "maxVoxelsPPS", DEFAULT_MAX_VOXEL_PPS); | 668 | _octreeSizeScale = loadSetting(settings, "octreeSizeScale", DEFAULT_OCTREE_SIZE_SCALE); |
| 686 | _voxelSizeScale = loadSetting(settings, "voxelSizeScale", DEFAULT_OCTREE_SIZE_SCALE); | ||
| 687 | _automaticAvatarLOD = settings->value("automaticAvatarLOD", true).toBool(); | 669 | _automaticAvatarLOD = settings->value("automaticAvatarLOD", true).toBool(); |
| 688 | _avatarLODDecreaseFPS = loadSetting(settings, "avatarLODDecreaseFPS", DEFAULT_ADJUST_AVATAR_LOD_DOWN_FPS); | 670 | _avatarLODDecreaseFPS = loadSetting(settings, "avatarLODDecreaseFPS", DEFAULT_ADJUST_AVATAR_LOD_DOWN_FPS); |
| 689 | _avatarLODIncreaseFPS = loadSetting(settings, "avatarLODIncreaseFPS", ADJUST_LOD_UP_FPS); | 671 | _avatarLODIncreaseFPS = loadSetting(settings, "avatarLODIncreaseFPS", ADJUST_LOD_UP_FPS); |
| @@ -750,9 +732,8 @@ void Menu::saveSettings(QSettings* settings) { · 60 unmodified lines | |||
| 750 | settings->setValue("fieldOfView", _fieldOfView); | 732 | settings->setValue("fieldOfView", _fieldOfView); |
| 751 | settings->setValue("faceshiftEyeDeflection", _faceshiftEyeDeflection); | 733 | settings->setValue("faceshiftEyeDeflection", _faceshiftEyeDeflection); |
| 752 | settings->setValue("faceshiftHostname", _faceshiftHostname); | 734 | settings->setValue("faceshiftHostname", _faceshiftHostname); |
| 753 | settings->setValue("maxVoxels", _maxVoxels); | 735 | settings->setValue("maxOctreePPS", _maxOctreePacketsPerSecond); |
| 754 | settings->setValue("maxVoxelsPPS", _maxVoxelPacketsPerSecond); | 736 | settings->setValue("octreeSizeScale", _octreeSizeScale); |
| 755 | settings->setValue("voxelSizeScale", _voxelSizeScale); | ||
| 756 | settings->setValue("automaticAvatarLOD", _automaticAvatarLOD); | 737 | settings->setValue("automaticAvatarLOD", _automaticAvatarLOD); |
| 757 | settings->setValue("avatarLODDecreaseFPS", _avatarLODDecreaseFPS); | 738 | settings->setValue("avatarLODDecreaseFPS", _avatarLODDecreaseFPS); |
| 758 | settings->setValue("avatarLODIncreaseFPS", _avatarLODIncreaseFPS); | 739 | settings->setValue("avatarLODIncreaseFPS", _avatarLODIncreaseFPS); |
| @@ -1266,33 +1247,6 @@ void Menu::nameLocation() { · 507 unmodified lines | |||
| 1266 | _newLocationDialog->showNormal(); | 1247 | _newLocationDialog->showNormal(); |
| 1267 | } | 1248 | } |
| 1268 | 1249 | ||
| 1269 | void Menu::pasteToVoxel() { | ||
| 1270 | QInputDialog pasteToOctalCodeDialog(Application::getInstance()->getWindow()); | ||
| 1271 | pasteToOctalCodeDialog.setWindowTitle("Paste to Voxel"); | ||
| 1272 | pasteToOctalCodeDialog.setLabelText("Octal Code:"); | ||
| 1273 | QString octalCode = ""; | ||
| 1274 | pasteToOctalCodeDialog.setTextValue(octalCode); | ||
| 1275 | pasteToOctalCodeDialog.setWindowFlags(Qt::Sheet); | ||
| 1276 | pasteToOctalCodeDialog.resize(pasteToOctalCodeDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, | ||
| 1277 | pasteToOctalCodeDialog.size().height()); | ||
| 1278 | |||
| 1279 | int dialogReturn = pasteToOctalCodeDialog.exec(); | ||
| 1280 | if (dialogReturn == QDialog::Accepted && !pasteToOctalCodeDialog.textValue().isEmpty()) { | ||
| 1281 | // we got an octalCode to paste to... | ||
| 1282 | QString locationToPaste = pasteToOctalCodeDialog.textValue(); | ||
| 1283 | unsigned char* octalCodeDestination = hexStringToOctalCode(locationToPaste); | ||
| 1284 | |||
| 1285 | // check to see if it was a legit octcode... | ||
| 1286 | if (locationToPaste == octalCodeToHexString(octalCodeDestination)) { | ||
| 1287 | Application::getInstance()->pasteVoxelsToOctalCode(octalCodeDestination); | ||
| 1288 | } else { | ||
| 1289 | qDebug() << "Problem with octcode..."; | ||
| 1290 | } | ||
| 1291 | } | ||
| 1292 | |||
| 1293 | sendFakeEnterEvent(); | ||
| 1294 | } | ||
| 1295 | |||
| 1296 | void Menu::toggleLoginMenuItem() { | 1250 | void Menu::toggleLoginMenuItem() { |
| 1297 | AccountManager& accountManager = AccountManager::getInstance(); | 1251 | AccountManager& accountManager = AccountManager::getInstance(); |
| 1298 | 1252 | ||
| @@ -1462,8 +1416,8 @@ QString Menu::getLODFeedbackText() { · 163 unmodified lines | |||
| 1462 | } | 1416 | } |
| 1463 | 1417 | ||
| 1464 | // distance feedback | 1418 | // distance feedback |
| 1465 | float voxelSizeScale = getVoxelSizeScale(); | 1419 | float octreeSizeScale = getOctreeSizeScale(); |
| 1466 | float relativeToDefault = voxelSizeScale / DEFAULT_OCTREE_SIZE_SCALE; | 1420 | float relativeToDefault = octreeSizeScale / DEFAULT_OCTREE_SIZE_SCALE; |
| 1467 | QString result; | 1421 | QString result; |
| 1468 | if (relativeToDefault > 1.01) { | 1422 | if (relativeToDefault > 1.01) { |
| 1469 | result = QString("%1 further %2").arg(relativeToDefault,8,'f',2).arg(granularityFeedback); | 1423 | result = QString("%1 further %2").arg(relativeToDefault,8,'f',2).arg(granularityFeedback); |
| @@ -1514,29 +1468,29 @@ void Menu::autoAdjustLOD(float currentFPS) { · 44 unmodified lines | |||
| 1514 | quint64 elapsed = now - _lastAdjust; | 1468 | quint64 elapsed = now - _lastAdjust; |
| 1515 | 1469 | ||
| 1516 | if (elapsed > ADJUST_LOD_DOWN_DELAY && _fpsAverage.getAverage() < ADJUST_LOD_DOWN_FPS | 1470 | if (elapsed > ADJUST_LOD_DOWN_DELAY && _fpsAverage.getAverage() < ADJUST_LOD_DOWN_FPS |
| 1517 | && _voxelSizeScale > ADJUST_LOD_MIN_SIZE_SCALE) { | 1471 | && _octreeSizeScale > ADJUST_LOD_MIN_SIZE_SCALE) { |
| 1518 | 1472 | ||
| 1519 | _voxelSizeScale *= ADJUST_LOD_DOWN_BY; | 1473 | _octreeSizeScale *= ADJUST_LOD_DOWN_BY; |
| 1520 | 1474 | ||
| 1521 | if (_voxelSizeScale < ADJUST_LOD_MIN_SIZE_SCALE) { | 1475 | if (_octreeSizeScale < ADJUST_LOD_MIN_SIZE_SCALE) { |
| 1522 | _voxelSizeScale = ADJUST_LOD_MIN_SIZE_SCALE; | 1476 | _octreeSizeScale = ADJUST_LOD_MIN_SIZE_SCALE; |
| 1523 | } | 1477 | } |
| 1524 | changed = true; | 1478 | changed = true; |
| 1525 | _lastAdjust = now; | 1479 | _lastAdjust = now; |
| 1526 | qDebug() << "adjusting LOD down... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage() | 1480 | qDebug() << "adjusting LOD down... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage() |
| 1527 | << "_voxelSizeScale=" << _voxelSizeScale; | 1481 | << "_octreeSizeScale=" << _octreeSizeScale; |
| 1528 | } | 1482 | } |
| 1529 | 1483 | ||
| 1530 | if (elapsed > ADJUST_LOD_UP_DELAY && _fpsAverage.getAverage() > ADJUST_LOD_UP_FPS | 1484 | if (elapsed > ADJUST_LOD_UP_DELAY && _fpsAverage.getAverage() > ADJUST_LOD_UP_FPS |
| 1531 | && _voxelSizeScale < ADJUST_LOD_MAX_SIZE_SCALE) { | 1485 | && _octreeSizeScale < ADJUST_LOD_MAX_SIZE_SCALE) { |
| 1532 | _voxelSizeScale *= ADJUST_LOD_UP_BY; | 1486 | _octreeSizeScale *= ADJUST_LOD_UP_BY; |
| 1533 | if (_voxelSizeScale > ADJUST_LOD_MAX_SIZE_SCALE) { | 1487 | if (_octreeSizeScale > ADJUST_LOD_MAX_SIZE_SCALE) { |
| 1534 | _voxelSizeScale = ADJUST_LOD_MAX_SIZE_SCALE; | 1488 | _octreeSizeScale = ADJUST_LOD_MAX_SIZE_SCALE; |
| 1535 | } | 1489 | } |
| 1536 | changed = true; | 1490 | changed = true; |
| 1537 | _lastAdjust = now; | 1491 | _lastAdjust = now; |
| 1538 | qDebug() << "adjusting LOD up... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage() | 1492 | qDebug() << "adjusting LOD up... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage() |
| 1539 | << "_voxelSizeScale=" << _voxelSizeScale; | 1493 | << "_octreeSizeScale=" << _octreeSizeScale; |
| 1540 | } | 1494 | } |
| 1541 | 1495 | ||
| 1542 | if (changed) { | 1496 | if (changed) { |
| @@ -1553,8 +1507,8 @@ void Menu::resetLODAdjust() { · 10 unmodified lines | |||
| 1553 | _lastAvatarDetailDrop = _lastAdjust = usecTimestampNow(); | 1507 | _lastAvatarDetailDrop = _lastAdjust = usecTimestampNow(); |
| 1554 | } | 1508 | } |
| 1555 | 1509 | ||
| 1556 | void Menu::setVoxelSizeScale(float sizeScale) { | 1510 | void Menu::setOctreeSizeScale(float sizeScale) { |
| 1557 | _voxelSizeScale = sizeScale; | 1511 | _octreeSizeScale = sizeScale; |
| 1558 | _shouldRenderTableNeedsRebuilding = true; | 1512 | _shouldRenderTableNeedsRebuilding = true; |
| 1559 | bumpSettings(); | 1513 | bumpSettings(); |
| 1560 | } | 1514 | } |
| @@ -1565,14 +1519,14 @@ void Menu::setBoundaryLevelAdjust(int boundaryLevelAdjust) { · 4 unmodified lines | |||
| 1565 | bumpSettings(); | 1519 | bumpSettings(); |
| 1566 | } | 1520 | } |
| 1567 | 1521 | ||
| 1568 | // TODO: This is essentially the same logic used to render voxels, but since models are more detailed then voxels | 1522 | // TODO: This is essentially the same logic used to render octree cells, but since models are more detailed then octree cells |
| 1569 | // I've added a voxelToModelRatio that adjusts how much closer to a model you have to be to see it. | 1523 | // I've added a voxelToModelRatio that adjusts how much closer to a model you have to be to see it. |
| 1570 | bool Menu::shouldRenderMesh(float largestDimension, float distanceToCamera) { | 1524 | bool Menu::shouldRenderMesh(float largestDimension, float distanceToCamera) { |
| 1571 | const float voxelToMeshRatio = 4.0f; // must be this many times closer to a mesh than a voxel to see it. | 1525 | const float octreeToMeshRatio = 4.0f; // must be this many times closer to a mesh than a voxel to see it. |
| 1572 | float voxelSizeScale = getVoxelSizeScale(); | 1526 | float octreeSizeScale = getOctreeSizeScale(); |
| 1573 | int boundaryLevelAdjust = getBoundaryLevelAdjust(); | 1527 | int boundaryLevelAdjust = getBoundaryLevelAdjust(); |
| 1574 | float maxScale = (float)TREE_SCALE; | 1528 | float maxScale = (float)TREE_SCALE; |
| 1575 | float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, voxelSizeScale) / voxelToMeshRatio; | 1529 | float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / octreeToMeshRatio; |
| 1576 | 1530 | ||
| 1577 | if (_shouldRenderTableNeedsRebuilding) { | 1531 | if (_shouldRenderTableNeedsRebuilding) { |
| 1578 | _shouldRenderTable.clear(); | 1532 | _shouldRenderTable.clear(); |