History

Merge branch 'master' of https://github.com/highfidelity/hifi into steam

Atlante45 committed 10 years ago

Commit e4dd4c12 parents 5ad6f02 4c663b9110 files · +2776 −2525Browse files

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

Unified · Split

interface/src/Application.cpp+57−15
@@ -140,7 +140,6 @@ · 139 unmodified lines
140140 #if defined(Q_OS_MAC) || defined(Q_OS_WIN)
141141 #include "SpeechRecognizer.h"
142142 #endif
143−#include "Stars.h"
144143 #include "ui/AddressBarDialog.h"
145144 #include "ui/AvatarInputs.h"
146145 #include "ui/DialogsManager.h"
@@ -392,6 +391,11 @@ void messageHandler(QtMsgType type, const QMessageLogContext& context, const QSt · 245 unmodified lines
392391 }
393392
394393 static const QString STATE_IN_HMD = "InHMD";
394+static const QString STATE_CAMERA_FULL_SCREEN_MIRROR = "CameraFSM";
395+static const QString STATE_CAMERA_FIRST_PERSON = "CameraFirstPerson";
396+static const QString STATE_CAMERA_THIRD_PERSON = "CameraThirdPerson";
397+static const QString STATE_CAMERA_ENTITY = "CameraEntity";
398+static const QString STATE_CAMERA_INDEPENDENT = "CameraIndependent";
395399 static const QString STATE_SNAP_TURN = "SnapTurn";
396400 static const QString STATE_GROUNDED = "Grounded";
397401 static const QString STATE_NAV_FOCUSED = "NavigationFocused";
@@ -471,7 +475,9 @@ bool setupEssentials(int& argc, char** argv) { · 73 unmodified lines
471475 DependencyManager::set<InterfaceActionFactory>();
472476 DependencyManager::set<AudioInjectorManager>();
473477 DependencyManager::set<MessagesClient>();
474− controller::StateController::setStateVariables({ { STATE_IN_HMD, STATE_SNAP_TURN, STATE_GROUNDED, STATE_NAV_FOCUSED } });
478+ controller::StateController::setStateVariables({ { STATE_IN_HMD, STATE_CAMERA_FULL_SCREEN_MIRROR,
479+ STATE_CAMERA_FIRST_PERSON, STATE_CAMERA_THIRD_PERSON, STATE_CAMERA_ENTITY, STATE_CAMERA_INDEPENDENT,
480+ STATE_SNAP_TURN, STATE_GROUNDED, STATE_NAV_FOCUSED } });
475481 DependencyManager::set<UserInputMapper>();
476482 DependencyManager::set<controller::ScriptingInterface, ControllerScriptingInterface>();
477483 DependencyManager::set<InterfaceParentFinder>();
@@ -819,6 +825,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 341 unmodified lines
819825 }
820826 UserActivityLogger::getInstance().logAction("launch", properties);
821827
828+ _connectionMonitor.init();
822829
823830 // Tell our entity edit sender about our known jurisdictions
824831 _entityEditSender.setServerJurisdictions(&_entityServerJurisdictions);
@@ -962,6 +969,21 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 137 unmodified lines
962969 _applicationStateDevice->setInputVariant(STATE_IN_HMD, []() -> float {
963970 return qApp->isHMDMode() ? 1 : 0;
964971 });
972+ _applicationStateDevice->setInputVariant(STATE_CAMERA_FULL_SCREEN_MIRROR, []() -> float {
973+ return qApp->getCamera()->getMode() == CAMERA_MODE_MIRROR ? 1 : 0;
974+ });
975+ _applicationStateDevice->setInputVariant(STATE_CAMERA_FIRST_PERSON, []() -> float {
976+ return qApp->getCamera()->getMode() == CAMERA_MODE_FIRST_PERSON ? 1 : 0;
977+ });
978+ _applicationStateDevice->setInputVariant(STATE_CAMERA_THIRD_PERSON, []() -> float {
979+ return qApp->getCamera()->getMode() == CAMERA_MODE_THIRD_PERSON ? 1 : 0;
980+ });
981+ _applicationStateDevice->setInputVariant(STATE_CAMERA_ENTITY, []() -> float {
982+ return qApp->getCamera()->getMode() == CAMERA_MODE_ENTITY ? 1 : 0;
983+ });
984+ _applicationStateDevice->setInputVariant(STATE_CAMERA_INDEPENDENT, []() -> float {
985+ return qApp->getCamera()->getMode() == CAMERA_MODE_INDEPENDENT ? 1 : 0;
986+ });
965987 _applicationStateDevice->setInputVariant(STATE_SNAP_TURN, []() -> float {
966988 return qApp->getMyAvatar()->getSnapTurn() ? 1 : 0;
967989 });
@@ -1212,6 +1234,17 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 244 unmodified lines
12121234 connect(this, &Application::applicationStateChanged, this, &Application::activeChanged);
12131235 qCDebug(interfaceapp, "Startup time: %4.2f seconds.", (double)startupTimer.elapsed() / 1000.0);
12141236
1237+ auto textureCache = DependencyManager::get<TextureCache>();
1238+
1239+ QString skyboxUrl { PathUtils::resourcesPath() + "images/Default-Sky-9-cubemap.jpg" };
1240+ QString skyboxAmbientUrl { PathUtils::resourcesPath() + "images/Default-Sky-9-ambient.jpg" };
1241+
1242+ _defaultSkyboxTexture = textureCache->getImageTexture(skyboxUrl, NetworkTexture::CUBE_TEXTURE, { { "generateIrradiance", false } });
1243+ _defaultSkyboxAmbientTexture = textureCache->getImageTexture(skyboxAmbientUrl, NetworkTexture::CUBE_TEXTURE, { { "generateIrradiance", true } });
1244+
1245+ _defaultSkybox->setCubemap(_defaultSkyboxTexture);
1246+ _defaultSkybox->setColor({ 1.0, 1.0, 1.0 });
1247+
12151248 // After all of the constructor is completed, then set firstRun to false.
12161249 Setting::Handle<bool> firstRun{ Settings::firstRun, true };
12171250 firstRun.set(false);
@@ -2282,7 +2315,7 @@ void Application::keyPressEvent(QKeyEvent* event) { · 1064 unmodified lines
22822315 }
22832316
22842317 case Qt::Key_Asterisk:
2285− Menu::getInstance()->triggerOption(MenuOption::Stars);
2318+ Menu::getInstance()->triggerOption(MenuOption::DefaultSkybox);
22862319 break;
22872320
22882321 case Qt::Key_S:
@@ -4217,8 +4250,6 @@ public: · 1928 unmodified lines
42174250 typedef render::Payload<BackgroundRenderData> Payload;
42184251 typedef Payload::DataPointer Pointer;
42194252
4220− Stars _stars;
4221−
42224253 static render::ItemID _item; // unique WorldBoxRenderData
42234254 };
42244255
@@ -4253,15 +4284,26 @@ namespace render { · 28 unmodified lines
42534284
42544285 // Fall through: if no skybox is available, render the SKY_DOME
42554286 case model::SunSkyStage::SKY_DOME: {
4256− if (Menu::getInstance()->isOptionChecked(MenuOption::Stars)) {
4257− PerformanceTimer perfTimer("stars");
4258− PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
4259− "Application::payloadRender<BackgroundRenderData>() ... My god, it's full of stars...");
4260− // should be the first rendering pass - w/o depth buffer / lighting
4261−
4262− static const float alpha = 1.0f;
4263− background->_stars.render(args, alpha);
4264− }
4287+ if (Menu::getInstance()->isOptionChecked(MenuOption::DefaultSkybox)) {
4288+ static const glm::vec3 DEFAULT_SKYBOX_COLOR { 255.0f / 255.0f, 220.0f / 255.0f, 194.0f / 255.0f };
4289+ static const float DEFAULT_SKYBOX_INTENSITY { 0.2f };
4290+ static const float DEFAULT_SKYBOX_AMBIENT_INTENSITY { 2.0f };
4291+ static const glm::vec3 DEFAULT_SKYBOX_DIRECTION { 0.0f, 0.0f, -1.0f };
4292+
4293+ auto scene = DependencyManager::get<SceneScriptingInterface>()->getStage();
4294+ auto sceneKeyLight = scene->getKeyLight();
4295+ scene->setSunModelEnable(false);
4296+ sceneKeyLight->setColor(DEFAULT_SKYBOX_COLOR);
4297+ sceneKeyLight->setIntensity(DEFAULT_SKYBOX_INTENSITY);
4298+ sceneKeyLight->setAmbientIntensity(DEFAULT_SKYBOX_AMBIENT_INTENSITY);
4299+ sceneKeyLight->setDirection(DEFAULT_SKYBOX_DIRECTION);
4300+
4301+ auto defaultSkyboxAmbientTexture = qApp->getDefaultSkyboxAmbientTexture();
4302+ sceneKeyLight->setAmbientSphere(defaultSkyboxAmbientTexture->getIrradiance());
4303+ sceneKeyLight->setAmbientMap(defaultSkyboxAmbientTexture);
4304+
4305+ qApp->getDefaultSkybox()->render(batch, args->getViewFrustum());
4306+ }
42654307 }
42664308 break;
42674309
@@ -4455,7 +4497,6 @@ void Application::updateWindowTitle() const { · 187 unmodified lines
44554497 #endif
44564498 _window->setWindowTitle(title);
44574499 }
4458−
44594500 void Application::clearDomainOctreeDetails() {
44604501
44614502 // if we're about to quit, we really don't need to do any of these things...
@@ -4481,6 +4522,7 @@ void Application::clearDomainOctreeDetails() { · 19 unmodified lines
44814522 getEntities()->clear();
44824523
44834524 auto skyStage = DependencyManager::get<SceneScriptingInterface>()->getSkyStage();
4525+
44844526 skyStage->setBackgroundMode(model::SunSkyStage::SKY_DOME);
44854527
44864528 _recentlyClearedDomain = true;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t