flip logic back around

This commit is contained in:
Seth Alves 2018-01-18 13:49:17 -08:00
parent 0ad4cdc41b
commit 7c32d3c536
5 changed files with 10 additions and 10 deletions

View file

@ -87,7 +87,7 @@ void ModelOverlay::update(float deltatime) {
if (_visibleDirty) {
_visibleDirty = false;
// don't show overlays in mirrors
_model->setVisibleInScene(getVisible(), scene, render::ItemKey::VISIBLE_MASK_ALL & ~render::ItemKey::VISIBLE_MASK_1);
_model->setVisibleInScene(getVisible(), scene, render::ItemKey::VISIBLE_MASK_1);
}
if (_drawInFrontDirty) {
_drawInFrontDirty = false;

View file

@ -1334,8 +1334,8 @@ void ModelEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& sce
entity->stopModelOverrideIfNoParent();
uint32_t viewVisiblityMask = _cauterized ?
(render::ItemKey::VISIBLE_MASK_ALL & ~render::ItemKey::VISIBLE_MASK_0) : // draw in every view except the main one
render::ItemKey::VISIBLE_MASK_ALL;
render::ItemKey::VISIBLE_MASK_0 : // draw in every view except the main one
render::ItemKey::VISIBLE_MASK_ALL; // draw in all views
if (model->isVisible() != _visible || model->getViewVisibilityMask() != viewVisiblityMask) {
// FIXME: this seems like it could be optimized if we tracked our last known visible state in

View file

@ -396,16 +396,16 @@ void ModelMeshPartPayload::setKey(bool isVisible, bool isLayered, uint8_t viewVi
if (!isVisible) {
builder.withInvisible();
} else {
if (!(viewVisiblityMask & render::ItemKey::VISIBLE_MASK_0)) {
if (viewVisiblityMask & render::ItemKey::VISIBLE_MASK_0) {
builder.withInvisible(render::ItemKey::INVISIBLE0 - render::ItemKey::INVISIBLE0);
}
if (!(viewVisiblityMask & render::ItemKey::VISIBLE_MASK_1)) {
if (viewVisiblityMask & render::ItemKey::VISIBLE_MASK_1) {
builder.withInvisible(render::ItemKey::INVISIBLE1 - render::ItemKey::INVISIBLE0);
}
if (!(viewVisiblityMask & render::ItemKey::VISIBLE_MASK_2)) {
if (viewVisiblityMask & render::ItemKey::VISIBLE_MASK_2) {
builder.withInvisible(render::ItemKey::INVISIBLE2 - render::ItemKey::INVISIBLE0);
}
if (!(viewVisiblityMask & render::ItemKey::VISIBLE_MASK_3)) {
if (viewVisiblityMask & render::ItemKey::VISIBLE_MASK_3) {
builder.withInvisible(render::ItemKey::INVISIBLE3 - render::ItemKey::INVISIBLE0);
}
}

View file

@ -674,13 +674,13 @@ void Model::setVisibleInScene(bool isVisible, const render::ScenePointer& scene,
foreach (auto item, _modelMeshRenderItemsMap.keys()) {
transaction.updateItem<ModelMeshPartPayload>(item, [isVisible, viewVisibilityMask, isLayeredInFront,
isLayeredInHUD](ModelMeshPartPayload& data) {
data.setKey(isVisible, isLayeredInFront || isLayeredInHUD, 14);
data.setKey(isVisible, isLayeredInFront || isLayeredInHUD, viewVisibilityMask);
});
}
foreach(auto item, _collisionRenderItemsMap.keys()) {
transaction.updateItem<ModelMeshPartPayload>(item, [isVisible, viewVisibilityMask, isLayeredInFront,
isLayeredInHUD](ModelMeshPartPayload& data) {
data.setKey(isVisible, isLayeredInFront || isLayeredInHUD, 14);
data.setKey(isVisible, isLayeredInFront || isLayeredInHUD, viewVisibilityMask);
});
}
scene->enqueueTransaction(transaction);

View file

@ -389,7 +389,7 @@ protected:
QUrl _url;
bool _isVisible;
uint32_t _viewVisibilityMask { 0 };
uint8_t _viewVisibilityMask { 0 };
gpu::Buffers _blendedVertexBuffers;