History

added reset settings for Old vs New voxel culling mode

ZappoMan committed 13 years ago

Commit b8dfc381 parent 2979a8e2 files · +50 −8Browse files

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

Unified · Split

interface/src/Menu.cpp+45−8
@@ -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
1103void Menu::setOldVoxelCullingMode(bool oldMode) {
1104 setVoxelCullingMode(oldMode);
1105}
1106
1107void 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.
1113void 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}