Showing the changes to interface/src/Menu.cpp (1 of 2 files). Show all
Unified · Split
| @@ -272,17 +272,26 @@ Menu::Menu() : · 271 unmodified lines | |||
| 272 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0, | 272 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0, |
| 273 | false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool))); | 273 | false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool))); |
| 274 | 274 | ||
| 275 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::FastVoxelPipeline, 0, | ||
| 276 | false, appInstance->getVoxels(), SLOT(setUseFastVoxelPipeline(bool))); | ||
| 277 | |||
| 278 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontRemoveOutOfView); | ||
| 279 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::HideOutOfView); | ||
| 280 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::UseDeltaFrustumInHide); | ||
| 281 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::ConstantCulling); | ||
| 282 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AutomaticallyAuditTree); | ||
| 283 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); | 275 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); |
| 284 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion); | 276 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion); |
| 285 | 277 | ||
| 278 | QMenu* cullingOptionsMenu = voxelOptionsMenu->addMenu("Culling Options"); | ||
| 279 | addDisabledActionAndSeparator(cullingOptionsMenu, "Standard Settings"); | ||
| 280 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::OldVoxelCullingMode, 0, | ||
| 281 | false, this, SLOT(setOldVoxelCullingMode(bool))); | ||
| 282 | |||
| 283 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::NewVoxelCullingMode, 0, | ||
| 284 | false, this, SLOT(setNewVoxelCullingMode(bool))); | ||
| 285 | |||
| 286 | addDisabledActionAndSeparator(cullingOptionsMenu, "Individual Option Settings"); | ||
| 287 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::FastVoxelPipeline, 0, | ||
| 288 | false, appInstance->getVoxels(), SLOT(setUseFastVoxelPipeline(bool))); | ||
| 289 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::DontRemoveOutOfView); | ||
| 290 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::HideOutOfView); | ||
| 291 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::UseDeltaFrustumInHide); | ||
| 292 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::ConstantCulling); | ||
| 293 | |||
| 294 | |||
| 286 | QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options"); | 295 | QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options"); |
| 287 | 296 | ||
| 288 | addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::Avatars, 0, true); | 297 | addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::Avatars, 0, true); |
| @@ -377,6 +386,8 @@ Menu::Menu() : · 88 unmodified lines | |||
| 377 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P); | 386 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P); |
| 378 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings, Qt::CTRL | Qt::SHIFT | Qt::Key_S); | 387 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings, Qt::CTRL | Qt::SHIFT | Qt::Key_S); |
| 379 | 388 | ||
| 389 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::AutomaticallyAuditTree); | ||
| 390 | |||
| 380 | 391 | ||
| 381 | addActionToQMenuAndActionHash(renderDebugMenu, | 392 | addActionToQMenuAndActionHash(renderDebugMenu, |
| 382 | MenuOption::ShowAllLocalVoxels, | 393 | MenuOption::ShowAllLocalVoxels, |
| @@ -1089,4 +1100,30 @@ void Menu::updateFrustumRenderModeAction() { · 706 unmodified lines | |||
| 1089 | } | 1100 | } |
| 1090 | } | 1101 | } |
| 1091 | 1102 | ||
| 1103 | void Menu::setOldVoxelCullingMode(bool oldMode) { | ||
| 1104 | setVoxelCullingMode(oldMode); | ||
| 1105 | } | ||
| 1106 | |||
| 1107 | void Menu::setNewVoxelCullingMode(bool newMode) { | ||
| 1108 | setVoxelCullingMode(!newMode); | ||
| 1109 | } | ||
| 1092 | 1110 | ||
| 1111 | /// This will switch on or off several different individual settings options all at once based on choosing with Old or New | ||
| 1112 | /// voxel culling mode. | ||
| 1113 | void Menu::setVoxelCullingMode(bool oldMode) { | ||
| 1114 | const QString menus[] = { MenuOption::FastVoxelPipeline, MenuOption::DontRemoveOutOfView, MenuOption::HideOutOfView, | ||
| 1115 | MenuOption::UseDeltaFrustumInHide, MenuOption::ConstantCulling}; | ||
| 1116 | bool oldModeValue[] = { false, false, false, false, false }; | ||
| 1117 | bool newModeValue[] = { true, true, true, true, true }; | ||
| 1118 | |||
| 1119 | for (int i = 0; i < sizeof(menus) / sizeof(menus[0]); i++) { | ||
| 1120 | bool desiredValue = oldMode ? oldModeValue[i] : newModeValue[i]; | ||
| 1121 | if (isOptionChecked(menus[i]) != desiredValue) { | ||
| 1122 | triggerOption(menus[i]); | ||
| 1123 | } | ||
| 1124 | } | ||
| 1125 | |||
| 1126 | // set the checkmarks accordingly... | ||
| 1127 | _actionHash.value(MenuOption::OldVoxelCullingMode)->setChecked(oldMode); | ||
| 1128 | _actionHash.value(MenuOption::NewVoxelCullingMode)->setChecked(!oldMode); | ||
| 1129 | } | ||