History

Merge branch 'master' of git://github.com/highfidelity/hifi into audio-buffer-size

Ryan Huffman committed 11 years ago

Commit defb2cb2 parents bbfe2ff 162854c158 files · +501 −11918Browse files

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

Unified · Split

interface/src/Menu.cpp+27−73
@@ -109,8 +109,7 @@ Menu::Menu() : · 108 unmodified lines
109109 #if defined(Q_OS_MAC) || defined(Q_OS_WIN)
110110 _speechRecognizer(),
111111 #endif
112− _maxVoxels(DEFAULT_MAX_VOXELS_PER_SYSTEM),
113− _voxelSizeScale(DEFAULT_OCTREE_SIZE_SCALE),
112+ _octreeSizeScale(DEFAULT_OCTREE_SIZE_SCALE),
114113 _oculusUIAngularSize(DEFAULT_OCULUS_UI_ANGULAR_SIZE),
115114 _sixenseReticleMoveSpeed(DEFAULT_SIXENSE_RETICLE_MOVE_SPEED),
116115 _invertSixenseButtons(DEFAULT_INVERT_SIXENSE_MOUSE_BUTTONS),
@@ -119,7 +118,7 @@ Menu::Menu() : · 2 unmodified lines
119118 _avatarLODIncreaseFPS(ADJUST_LOD_UP_FPS),
120119 _avatarLODDistanceMultiplier(DEFAULT_AVATAR_LOD_DISTANCE_MULTIPLIER),
121120 _boundaryLevelAdjust(0),
122− _maxVoxelPacketsPerSecond(DEFAULT_MAX_VOXEL_PPS),
121+ _maxOctreePacketsPerSecond(DEFAULT_MAX_OCTREE_PPS),
123122 _lastAdjust(usecTimestampNow()),
124123 _lastAvatarDetailDrop(usecTimestampNow()),
125124 _fpsAverage(FIVE_SECONDS_OF_FRAMES),
@@ -316,8 +315,6 @@ Menu::Menu() : · 190 unmodified lines
316315 avatar, SLOT(onToggleRagdoll()));
317316 addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithAvatars,
318317 0, true, avatar, SLOT(updateCollisionGroups()));
319− addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithVoxels,
320− 0, false, avatar, SLOT(updateCollisionGroups()));
321318 addCheckableActionToQMenuAndActionHash(collisionsMenu, MenuOption::CollideWithEnvironment,
322319 0, false, avatar, SLOT(updateCollisionGroups()));
323320
@@ -391,6 +388,9 @@ Menu::Menu() : · 67 unmodified lines
391388 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Avatars, 0, true);
392389 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Metavoxels, 0, true);
393390 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Entities, 0, true);
391+ addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::AmbientOcclusion);
392+ addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::DontFadeOnOctreeServerChanges);
393+ addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::DisableAutoAdjustLOD);
394394
395395 QMenu* shadowMenu = renderOptionsMenu->addMenu("Shadows");
396396 QActionGroup* shadowGroup = new QActionGroup(shadowMenu);
@@ -425,12 +425,6 @@ Menu::Menu() : · 28 unmodified lines
425425 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false));
426426
427427 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)));
434428 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::EnableGlowEffect, 0, true,
435429 DependencyManager::get<GlowEffect>().data(), SLOT(toggleGlowEffect(bool)));
436430
@@ -457,12 +451,6 @@ Menu::Menu() : · 20 unmodified lines
457451 addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtVectors, 0, false);
458452 addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderFocusIndicator, 0, false);
459453
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−
466454 QMenu* metavoxelOptionsMenu = developerMenu->addMenu("Metavoxels");
467455 addCheckableActionToQMenuAndActionHash(metavoxelOptionsMenu, MenuOption::DisplayHermiteData, 0, false,
468456 Application::getInstance()->getMetavoxels(), SLOT(refreshVoxelData()));
@@ -636,11 +624,6 @@ Menu::Menu() : · 167 unmodified lines
636624
637625 connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled()));
638626
639− addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel,
640− Qt::CTRL | Qt::SHIFT | Qt::Key_V,
641− this,
642− SLOT(pasteToVoxel()));
643−
644627 #ifndef Q_OS_MAC
645628 QMenu* helpMenu = addMenu("Help");
646629 QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp);
@@ -681,9 +664,8 @@ void Menu::loadSettings(QSettings* settings) { · 34 unmodified lines
681664 _realWorldFieldOfView = loadSetting(settings, "realWorldFieldOfView", DEFAULT_REAL_WORLD_FIELD_OF_VIEW_DEGREES);
682665 _faceshiftEyeDeflection = loadSetting(settings, "faceshiftEyeDeflection", DEFAULT_FACESHIFT_EYE_DEFLECTION);
683666 _faceshiftHostname = settings->value("faceshiftHostname", DEFAULT_FACESHIFT_HOSTNAME).toString();
684− _maxVoxels = loadSetting(settings, "maxVoxels", DEFAULT_MAX_VOXELS_PER_SYSTEM);
685− _maxVoxelPacketsPerSecond = loadSetting(settings, "maxVoxelsPPS", DEFAULT_MAX_VOXEL_PPS);
686− _voxelSizeScale = loadSetting(settings, "voxelSizeScale", DEFAULT_OCTREE_SIZE_SCALE);
667+ _maxOctreePacketsPerSecond = loadSetting(settings, "maxOctreePPS", DEFAULT_MAX_OCTREE_PPS);
668+ _octreeSizeScale = loadSetting(settings, "octreeSizeScale", DEFAULT_OCTREE_SIZE_SCALE);
687669 _automaticAvatarLOD = settings->value("automaticAvatarLOD", true).toBool();
688670 _avatarLODDecreaseFPS = loadSetting(settings, "avatarLODDecreaseFPS", DEFAULT_ADJUST_AVATAR_LOD_DOWN_FPS);
689671 _avatarLODIncreaseFPS = loadSetting(settings, "avatarLODIncreaseFPS", ADJUST_LOD_UP_FPS);
@@ -750,9 +732,8 @@ void Menu::saveSettings(QSettings* settings) { · 60 unmodified lines
750732 settings->setValue("fieldOfView", _fieldOfView);
751733 settings->setValue("faceshiftEyeDeflection", _faceshiftEyeDeflection);
752734 settings->setValue("faceshiftHostname", _faceshiftHostname);
753− settings->setValue("maxVoxels", _maxVoxels);
754− settings->setValue("maxVoxelsPPS", _maxVoxelPacketsPerSecond);
755− settings->setValue("voxelSizeScale", _voxelSizeScale);
735+ settings->setValue("maxOctreePPS", _maxOctreePacketsPerSecond);
736+ settings->setValue("octreeSizeScale", _octreeSizeScale);
756737 settings->setValue("automaticAvatarLOD", _automaticAvatarLOD);
757738 settings->setValue("avatarLODDecreaseFPS", _avatarLODDecreaseFPS);
758739 settings->setValue("avatarLODIncreaseFPS", _avatarLODIncreaseFPS);
@@ -1266,33 +1247,6 @@ void Menu::nameLocation() { · 507 unmodified lines
12661247 _newLocationDialog->showNormal();
12671248 }
12681249
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−
12961250 void Menu::toggleLoginMenuItem() {
12971251 AccountManager& accountManager = AccountManager::getInstance();
12981252
@@ -1462,8 +1416,8 @@ QString Menu::getLODFeedbackText() { · 163 unmodified lines
14621416 }
14631417
14641418 // distance feedback
1465− float voxelSizeScale = getVoxelSizeScale();
1466− float relativeToDefault = voxelSizeScale / DEFAULT_OCTREE_SIZE_SCALE;
1419+ float octreeSizeScale = getOctreeSizeScale();
1420+ float relativeToDefault = octreeSizeScale / DEFAULT_OCTREE_SIZE_SCALE;
14671421 QString result;
14681422 if (relativeToDefault > 1.01) {
14691423 result = QString("%1 further %2").arg(relativeToDefault,8,'f',2).arg(granularityFeedback);
@@ -1514,29 +1468,29 @@ void Menu::autoAdjustLOD(float currentFPS) { · 44 unmodified lines
15141468 quint64 elapsed = now - _lastAdjust;
15151469
15161470 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) {
15181472
1519− _voxelSizeScale *= ADJUST_LOD_DOWN_BY;
1473+ _octreeSizeScale *= ADJUST_LOD_DOWN_BY;
15201474
1521− if (_voxelSizeScale < ADJUST_LOD_MIN_SIZE_SCALE) {
1522− _voxelSizeScale = ADJUST_LOD_MIN_SIZE_SCALE;
1475+ if (_octreeSizeScale < ADJUST_LOD_MIN_SIZE_SCALE) {
1476+ _octreeSizeScale = ADJUST_LOD_MIN_SIZE_SCALE;
15231477 }
15241478 changed = true;
15251479 _lastAdjust = now;
15261480 qDebug() << "adjusting LOD down... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage()
1527− << "_voxelSizeScale=" << _voxelSizeScale;
1481+ << "_octreeSizeScale=" << _octreeSizeScale;
15281482 }
15291483
15301484 if (elapsed > ADJUST_LOD_UP_DELAY && _fpsAverage.getAverage() > ADJUST_LOD_UP_FPS
1531− && _voxelSizeScale < ADJUST_LOD_MAX_SIZE_SCALE) {
1532− _voxelSizeScale *= ADJUST_LOD_UP_BY;
1533− if (_voxelSizeScale > ADJUST_LOD_MAX_SIZE_SCALE) {
1534− _voxelSizeScale = ADJUST_LOD_MAX_SIZE_SCALE;
1485+ && _octreeSizeScale < ADJUST_LOD_MAX_SIZE_SCALE) {
1486+ _octreeSizeScale *= ADJUST_LOD_UP_BY;
1487+ if (_octreeSizeScale > ADJUST_LOD_MAX_SIZE_SCALE) {
1488+ _octreeSizeScale = ADJUST_LOD_MAX_SIZE_SCALE;
15351489 }
15361490 changed = true;
15371491 _lastAdjust = now;
15381492 qDebug() << "adjusting LOD up... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage()
1539− << "_voxelSizeScale=" << _voxelSizeScale;
1493+ << "_octreeSizeScale=" << _octreeSizeScale;
15401494 }
15411495
15421496 if (changed) {
@@ -1553,8 +1507,8 @@ void Menu::resetLODAdjust() { · 10 unmodified lines
15531507 _lastAvatarDetailDrop = _lastAdjust = usecTimestampNow();
15541508 }
15551509
1556−void Menu::setVoxelSizeScale(float sizeScale) {
1557− _voxelSizeScale = sizeScale;
1510+void Menu::setOctreeSizeScale(float sizeScale) {
1511+ _octreeSizeScale = sizeScale;
15581512 _shouldRenderTableNeedsRebuilding = true;
15591513 bumpSettings();
15601514 }
@@ -1565,14 +1519,14 @@ void Menu::setBoundaryLevelAdjust(int boundaryLevelAdjust) { · 4 unmodified lines
15651519 bumpSettings();
15661520 }
15671521
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
15691523 // I've added a voxelToModelRatio that adjusts how much closer to a model you have to be to see it.
15701524 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.
1572− float voxelSizeScale = getVoxelSizeScale();
1525+ const float octreeToMeshRatio = 4.0f; // must be this many times closer to a mesh than a voxel to see it.
1526+ float octreeSizeScale = getOctreeSizeScale();
15731527 int boundaryLevelAdjust = getBoundaryLevelAdjust();
15741528 float maxScale = (float)TREE_SCALE;
1575− float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, voxelSizeScale) / voxelToMeshRatio;
1529+ float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / octreeToMeshRatio;
15761530
15771531 if (_shouldRenderTableNeedsRebuilding) {
15781532 _shouldRenderTable.clear();