From 3a606d19076a51b4343458cc8353b63a79b41924 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Fri, 1 Nov 2019 14:41:11 -0700 Subject: [PATCH 1/4] Implement DEV-2654: Allow ESS to make use of signals like --- assignment-client/src/avatars/AvatarMixer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assignment-client/src/avatars/AvatarMixer.cpp b/assignment-client/src/avatars/AvatarMixer.cpp index 36fd04681a..c7ab810c9a 100644 --- a/assignment-client/src/avatars/AvatarMixer.cpp +++ b/assignment-client/src/avatars/AvatarMixer.cpp @@ -512,10 +512,10 @@ void AvatarMixer::handleAvatarKilled(SharedNodePointer avatarNode) { // we relay avatar kill packets to agents that are not upstream // and downstream avatar mixers, if the node that was just killed was being replicatedConnectedAgent return node->getActiveSocket() && - ((node->getType() == NodeType::Agent && !node->isUpstream()) || + (((node->getType() == NodeType::Agent || node->getType() == NodeType::EntityScriptServer) && !node->isUpstream()) || (avatarNode->isReplicated() && shouldReplicateTo(*avatarNode, *node))); }, [&](const SharedNodePointer& node) { - if (node->getType() == NodeType::Agent) { + if (node->getType() == NodeType::Agent || node->getType() == NodeType::EntityScriptServer) { if (!killPacket) { killPacket = NLPacket::create(PacketType::KillAvatar, NUM_BYTES_RFC4122_UUID + sizeof(KillAvatarReason), true); killPacket->write(avatarNode->getUUID().toRfc4122()); From 8d07d401c39f1d2798db271bc428103fe5bdeb24 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Fri, 1 Nov 2019 14:45:07 -0700 Subject: [PATCH 2/4] Add a line of JSDoc --- libraries/avatars/src/AvatarHashMap.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/avatars/src/AvatarHashMap.h b/libraries/avatars/src/AvatarHashMap.h index 17a3d28eb0..c474353451 100644 --- a/libraries/avatars/src/AvatarHashMap.h +++ b/libraries/avatars/src/AvatarHashMap.h @@ -44,6 +44,7 @@ const quint64 MIN_TIME_BETWEEN_MY_AVATAR_DATA_SENDS = USECS_PER_SECOND / CLIENT_ * @namespace AvatarList * * @hifi-assignment-client + * @hifi-server-entity */ class AvatarReplicas { From a4696992e861a997b0805fa73454ad1beb2ddfbc Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Mon, 4 Nov 2019 11:15:37 -0800 Subject: [PATCH 3/4] Renaming the env variable to enable Material Proecural Shaders --- interface/src/Menu.cpp | 4 ++-- interface/src/Menu.h | 2 +- interface/src/ui/PreferencesDialog.cpp | 10 +++++----- libraries/render-utils/src/MeshPartPayload.cpp | 8 ++++---- libraries/render-utils/src/MeshPartPayload.h | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 9700ff6336..508c44fbd1 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -471,9 +471,9 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::ComputeBlendshapes, 0, true, DependencyManager::get().data(), SLOT(setComputeBlendshapes(bool))); - action = addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::MeshShaders, 0, false); + action = addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::MaterialProceduralShaders, 0, false); connect(action, &QAction::triggered, [action] { - MeshPartPayload::enableMeshShaders = action->isChecked(); + MeshPartPayload::enableMaterialProceduralShaders = action->isChecked(); }); { diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 4c6a6c48dc..ea118ec5dd 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -228,7 +228,7 @@ namespace MenuOption { const QString ForceCoarsePicking = "Force Coarse Picking"; const QString ComputeBlendshapes = "Compute Blendshapes"; const QString HighlightTransitions = "Highlight Transitions"; - const QString MeshShaders = "Enable Procedural Materials on Meshes"; + const QString MaterialProceduralShaders = "Enable Procedural Materials"; } #endif // hifi_Menu_h diff --git a/interface/src/ui/PreferencesDialog.cpp b/interface/src/ui/PreferencesDialog.cpp index 4e4fd965a8..7e11406808 100644 --- a/interface/src/ui/PreferencesDialog.cpp +++ b/interface/src/ui/PreferencesDialog.cpp @@ -103,15 +103,15 @@ void setupPreferences() { preference->setItems(refreshRateProfiles); preferences->addPreference(preference); - auto getterMeshShaders = []() -> bool { + auto getterMaterialProceduralShaders = []() -> bool { auto menu = Menu::getInstance(); - return menu->isOptionChecked(MenuOption::MeshShaders); + return menu->isOptionChecked(MenuOption::MaterialProceduralShaders); }; - auto setterMeshShaders = [](bool value) { + auto setterMaterialProceduralShaders = [](bool value) { auto menu = Menu::getInstance(); - menu->setIsOptionChecked(MenuOption::MeshShaders, value); + menu->setIsOptionChecked(MenuOption::MaterialProceduralShaders, value); }; - preferences->addPreference(new CheckPreference(GRAPHICS_QUALITY, "Enable Procedural Materials on Meshes", getterMeshShaders, setterMeshShaders)); + preferences->addPreference(new CheckPreference(GRAPHICS_QUALITY, "Enable Procedural Materials", getterMaterialProceduralShaders, setterMaterialProceduralShaders)); } { // Expose the Viewport Resolution Scale diff --git a/libraries/render-utils/src/MeshPartPayload.cpp b/libraries/render-utils/src/MeshPartPayload.cpp index 9525d9c105..9b42139892 100644 --- a/libraries/render-utils/src/MeshPartPayload.cpp +++ b/libraries/render-utils/src/MeshPartPayload.cpp @@ -23,10 +23,10 @@ #include "RenderPipelines.h" -static const QString ENABLE_MESH_SHADERS_STRING { "HIFI_ENABLE_MESH_SHADERS" }; -static bool ENABLE_MESH_SHADERS = QProcessEnvironment::systemEnvironment().contains(ENABLE_MESH_SHADERS_STRING); +static const QString ENABLE_MATERIAL_PROCEDURAL_SHADERS_STRING { "HIFI_ENABLE_MATERIAL_PROCEDURAL_SHADERS" }; +static bool ENABLE_MATERIAL_PROCEDURAL_SHADERS = QProcessEnvironment::systemEnvironment().contains(ENABLE_MATERIAL_PROCEDURAL_SHADERS_STRING); -bool MeshPartPayload::enableMeshShaders = false; +bool MeshPartPayload::enableMaterialProceduralShaders = false; using namespace render; @@ -471,7 +471,7 @@ void ModelMeshPartPayload::render(RenderArgs* args) { if (!_drawMaterials.empty() && _drawMaterials.top().material && _drawMaterials.top().material->isProcedural() && _drawMaterials.top().material->isReady()) { - if (!(enableMeshShaders && ENABLE_MESH_SHADERS)) { + if (!(enableMaterialProceduralShaders && ENABLE_MATERIAL_PROCEDURAL_SHADERS)) { return; } auto procedural = std::static_pointer_cast(_drawMaterials.top().material); diff --git a/libraries/render-utils/src/MeshPartPayload.h b/libraries/render-utils/src/MeshPartPayload.h index 18ef513a87..4d9510e4a2 100644 --- a/libraries/render-utils/src/MeshPartPayload.h +++ b/libraries/render-utils/src/MeshPartPayload.h @@ -73,7 +73,7 @@ public: void addMaterial(graphics::MaterialLayer material); void removeMaterial(graphics::MaterialPointer material); - static bool enableMeshShaders; + static bool enableMaterialProceduralShaders; protected: render::ItemKey _itemKey{ render::ItemKey::Builder::opaqueShape().build() }; From 683c3f130010be766d19356f42dafafe9d1a84f7 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Tue, 5 Nov 2019 09:33:11 -0800 Subject: [PATCH 4/4] An experiment with the top bar. Will you notice? --- .../resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml b/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml index 812971dc3a..778c626048 100644 --- a/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml +++ b/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml @@ -288,6 +288,7 @@ Rectangle { Item { id: outputDeviceButtonContainer + visible: false // An experiment. Will you notice? anchors.verticalCenter: parent.verticalCenter anchors.left: inputDeviceButton.right anchors.leftMargin: 7 @@ -343,6 +344,7 @@ Rectangle { Item { id: statusButtonContainer + visible: false // An experiment. Will you notice? anchors.verticalCenter: parent.verticalCenter anchors.left: outputDeviceButtonContainer.right anchors.leftMargin: 8