This commit is contained in:
amerhifi 2019-11-05 10:17:04 -08:00
commit 343807a9f5
8 changed files with 18 additions and 15 deletions

View file

@ -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());

View file

@ -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

View file

@ -471,9 +471,9 @@ Menu::Menu() {
addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::ComputeBlendshapes, 0, true,
DependencyManager::get<ModelBlender>().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();
});
{

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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<graphics::ProceduralMaterial>(_drawMaterials.top().material);

View file

@ -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() };